diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..e25d314c --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,22 @@ +name: Lint + +on: [push, pull_request, workflow_dispatch] + +permissions: {} + +env: + FORCE_COLOR: 1 + RUFF_OUTPUT_FORMAT: github + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: tox-dev/action-pre-commit-uv@v1 diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml new file mode 100644 index 00000000..9e7403ad --- /dev/null +++ b/.github/workflows/publish-docker.yml @@ -0,0 +1,69 @@ +name: Publish +on: + push: + branches: + - 'main' +permissions: + contents: write + packages: write +jobs: + release-to-ghcr: + concurrency: + group: release-to-ghcr + cancel-in-progress: false + runs-on: ${{ matrix.config.os }} + strategy: + matrix: + config: + - { os: ubuntu-24.04, arch: amd64 } + - { os: ubuntu-24.04-arm, arch: arm64 } + steps: + # Checkout push-to-registry action github repository + - name: Checkout Push to Registry action + uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login To GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfile.deploy + push: true + tags: | + ghcr.io/python/planetpython:${{ github.sha }}-${{ matrix.config.arch }} + ghcr.io/python/planetpython:latest-${{ matrix.config.arch }} + + create-manifests: + runs-on: ubuntu-24.04-arm + needs: [release-to-ghcr] + + steps: + - name: Checkout Push to Registry action + uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login To GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Create SHA image and push + run: | + docker buildx imagetools create \ + --tag ghcr.io/python/planetpython:${{ github.sha }} \ + ghcr.io/python/planetpython:${{ github.sha }}-amd64 \ + ghcr.io/python/planetpython:${{ github.sha }}-arm64 + + - name: Create latest manifest and push + run: | + docker buildx imagetools create \ + --tag ghcr.io/python/planetpython:latest \ + ghcr.io/python/planetpython:latest-amd64 \ + ghcr.io/python/planetpython:latest-arm64 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..bf03426b --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,9 @@ +repos: + - repo: local + hooks: + - id: sort-ini + name: Sort config.ini + entry: python3 config/sort-ini.py config/config.ini + language: python + pass_filenames: false + files: ^config/config.ini$ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..d61009d9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM ubuntu:bionic + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + python-pip python-setuptools python-wheel \ + locales tzdata \ + ca-certificates \ + strace gdb lsof locate net-tools htop iputils-ping dnsutils \ + python2.7-dbg python2.7 libpython2.7 python-dbg libpython-dbg \ + curl nano vim tree less telnet patch \ + graphviz sqlite3 \ + dumb-init \ + && rm -rf /var/lib/apt/lists/* + +RUN locale-gen en_US.UTF-8 + +COPY /code /planet/code +COPY /config /planet/config +COPY /static /planet/static + +#RUN mkdir /srv/planetpython.org/ +VOLUME /srv/planetpython.org/ +WORKDIR /planet + +ENTRYPOINT ["dumb-init"] + +RUN echo "#!/bin/bash -eux \n\ +python2.7 code/planet.py config/config.ini \n\ +cd /srv/planetpython.org/ \n\ +python2.7 -mSimpleHTTPServer 8080 \n\ +"> /start.sh +RUN chmod +x /start.sh +EXPOSE 8080 + diff --git a/Dockerfile.deploy b/Dockerfile.deploy new file mode 100644 index 00000000..e6ca0bbb --- /dev/null +++ b/Dockerfile.deploy @@ -0,0 +1,13 @@ +FROM python:2.7.18 + +ENV PYTHONUNBUFFERED=1 +ENV PYTHONDONTWRITEBYTECODE=1 + +RUN mkdir /planet +WORKDIR /planet + +COPY code /planet/code +COPY config /planet/config +COPY static /planet/static + + diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 74f97eca..eb07da33 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -11,8 +11,6 @@ Hi, I want to add my feed to the Python Planet or I want to change my current fe **My Blog RSS or ATOM Python specific feed url**: MY_FEED_URL -> IMPORTANT!!! **we need contact information to notify in case of any changes** Please send an email to `planet@python.org` title: `PR {number} sent to planet` with your email address + a link for the PR you opened. - ## I checked the following required validations: (mark all 5 with [x]) 1. [ ] My feed is valid, I checked using https://validator.w3.org/feed/check.cgi?url=MY_FEED_URL and it is valid! diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 1aa9c001..64e61e31 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -7,8 +7,6 @@ PLEASE: Remove this headline and the unused templates!!! Hi, I want to add my feed to the Python Planet. or I want to change my current feed url from CURRENT_URL_HERE to NEW_URL_HERE -> IMPORTANT!!! **we need contact information to notify in case of any changes** Please send an email to `planet@python.org` title: `PR {number} sent to planet` with your email address + a link for the PR you opened. - ## I checked the following required validations: (mark all 5 with [x]) 1. [ ] My feed is valid, I checked using https://validator.w3.org/feed/check.cgi?url=MY_FEED_URL and it is valid! diff --git a/README.txt b/README.rst similarity index 57% rename from README.txt rename to README.rst index adfef5bd..9b4c8f22 100644 --- a/README.txt +++ b/README.rst @@ -1,17 +1,14 @@ -Maintaining Planet Python (planetpython.org): +Maintaining Planet Python (https://planetpython.org): -* Requests come in to the github issues (https://github.com/python/planet/issues) - or planet mailing list (planet at python.org): - - https://mail.python.org/mailman/listinfo/planet +* Requests come in to the github issues (https://github.com/python/planet/issues) -* Check the feed for validity using the services: http://feedvalidator.org/ or https://validator.w3.org/feed/ or http://www.rssboard.org/rss-validator/ +* Check the feed for validity using the services: https://validator.w3.org/feed/ or https://www.rssboard.org/rss-validator/ * Check the feed for: Python-specific contents (often we have to ask for a Python specific feed), and English-language content (ask for an English-language feed). -* Add the feed URL to a text config file (config/config.ini):: +* Add the feed URL to a text config file (`config/config.ini `_):: [http://example.org/feed/url/] name = Author/Group/Project Name diff --git a/config/config.ini b/config/config.ini index 9e6e6bde..26c0772d 100644 --- a/config/config.ini +++ b/config/config.ini @@ -18,18 +18,12 @@ cache_directory = /srv/cache [http://dev.2degreesnetwork.com/feeds/posts/default/-/python] name = 2degrees -[http://devblog.4teamwork.ch/blog/categories/planet-python/atom.xml] -name = 4teamwork - [https://emptysqua.re/blog/category/python/index.xml] name = A. Jesse Jiryu Davis [http://ablog.readthedocs.org/blog/atom.xml] name = ABlog for Sphinx -[http://engineering.aweber.com/category/python-2/feed/] -name = AWeber Engineering - [http://www.artima.com/weblogs/feeds/bloggers/aahz.rss] name = Aahz @@ -42,21 +36,21 @@ name = Abu Ashraf Masnun [http://techarttiki.blogspot.com/feeds/posts/default/-/python] name = Adam Pletcher +[https://blog.adarshd.dev/feed.xml] +name = Adrarsh Divakaran + [http://agendaless.com/blog/index.atom?category=python] name = Agendaless Consulting +[https://www.ahmedbouchefra.com/python/feed.xml] +name = Ahmed Bouchefra + [http://alstatr.blogspot.com/feeds/posts/default/-/Python] name = Al-Ahmadgaid Asaad -[http://marduk.ghost.io/tag/python/rss/] -name = Albert Hopkins - [http://alecmunro.blogspot.com/feeds/posts/default/-/python] name = Alec Munro -[http://blog.aclark.net/atom.xml] -name = Alex Clark - [http://alextechrants.blogspot.com/feeds/posts/default/-/python] name = Alex Grönholm @@ -78,10 +72,7 @@ name = Alexey Evseev [http://akaptur.github.io/blog/categories/python/atom.xml] name = Allison Kaptur -[http://echorand.me/feeds/python.atom.xml] -name = Amit Saha - -[http://blog.amjith.com/posts.atom?tag=python] +[https://amjith.com/tags/python/index.xml] name = Amjith Ramanujam [http://blog.amvtek.com/feeds/tags/python.atom.xml] @@ -90,9 +81,6 @@ name = AmvTek [https://anarc.at/tag/python-planet/index.rss] name = Anarcat -[http://pyswarm.blogspot.com/feeds/posts/default] -name = Anastasios Hatzis - [http://techtonik.rainforce.org/feeds/posts/default/-/python] name = Anatoly Techtonik @@ -114,9 +102,6 @@ name = Andy Dustman [http://andy.terrel.us/feeds/python-tag.rss.xml] name = Andy R. Terrel -[https://nerandell.github.io/atom.xml] -name = Ankit Chandawala - [http://annaraven.blogspot.com/feeds/posts/default/-/python] name = Anna Martelli Ravenscroft @@ -129,18 +114,18 @@ name = Anton Belyaev [http://bobrochel.blogspot.com/feeds/posts/default/-/python] name = Anton Bobrov +[https://antocuni.eu/feed_rss_updated.xml] +name = Antonio Cuni + [https://anweshadas.in/tag/python/rss/] name = Anwesha Das -[http://www.appneta.com/blog/tag/python-applications/feed/] -name = AppNeta Blog +[https://arilamstein.com/tag/Python/feed/] +name = Ari Lamstein [http://lucumr.pocoo.org/feed.atom] name = Armin Ronacher -[http://arnavk.com/tags/python/index.xml] -name = Arnav Khare - [https://rushter.com/blog/feed/pyplanet.xml] name = Artem Golubin @@ -153,39 +138,30 @@ name = Ashish Vidyarthi [http://astrocodeschool.com/feeds/all.rss.xml] name = Astro Code School -[http://www.toolness.com/wp/?cat=11&feed=rss2] -name = Atul Varma -- Toolness - -[http://www.codemakesmehappy.com/feeds/posts/default/-/Python] -name = Audrey Roy Greenfeld - [http://automatingosint.com/blog/category/python/feed/] name = Automating OSINT +[https://raw.githubusercontent.com/mahmoud/awesome-python-applications/master/atom.xml] +name = Awesome Python Applications + [http://baijum.blogspot.com/feeds/posts/default/-/python] name = Baiju Muthukadan [http://gbtami.github.io/feed.python.xml] name = Bajusz Tamás -[http://importthis.tumblr.com/tagged/python/rss] -name = Balthazar Rouberol - -[http://bangalore.python.org.in/feed.xml] -name = BangPypers - [http://www.bedjango.com/planet/feed/] name = BeDjango [http://codedstructure.blogspot.com/feeds/posts/default/-/python] name = Ben Bass +[https://jbencook.com/feed.xml] +name = Ben Cook + [http://clusterbleep.net/blog/category/python/feed/] name = Ben Rousch -[http://mrben.co.uk/feed/python/] -name = Ben Tappin - [http://pybites.blogspot.com/feeds/posts/default] name = Benjamin Peterson @@ -201,27 +177,15 @@ name = Bhavin Gandhi [http://feeds.feedburner.com/thetaranights] name = Bhishan Bhandari -[http://www.admintome.com/blog/tag/python/feed/] -name = Bill Ward / AdminTome - [http://news.open-bio.org/news/category/obf-projects/biopython/feed/atom/] name = BioPython News [http://bitofcheese.blogspot.com/feeds/posts/default] name = Bit of Cheese -[https://tech.blue-yonder.com/tag/python/feed/] -name = Blue Yonder Tech - -[http://bluebream.posterous.com/rss.xml] -name = BlueBream - [http://source.mihelac.org/feeds/categories/django/] name = Bojan Mihelac -[http://blog.bradlucas.com/python.xml] -name = Brad Lucas - [http://rhodesmill.org/brandon/category/python/feed] name = Brandon Rhodes @@ -234,15 +198,15 @@ name = Brendan Scott [https://snarky.ca/rss/] name = Brett Cannon -[http://ferringb.wordpress.com/category/python/feed/atom/] -name = Brian Harring - -[http://pythontesting.net/on/planet/feed] +[http://pythontest.com/posts/index.xml] name = Brian Okken [http://nicoddemus.github.io/tag/python/atom.xml] name = Bruno Oliveira +[https://www.codingthepast.com/feed_python_planet.xml] +name = Bruno Ponne / Coding The Past + [http://brunorocha.org/tag/pythonplanet.atom] name = Bruno Rocha @@ -258,123 +222,78 @@ name = Calvin Spealman [http://carlchenet.com/category/planetpython/feed/] name = Carl Chenet +[https://carl.duevel.online/tags/python/index.xml] +name = Carl Düvel + [http://pyright.blogspot.com/feeds/posts/default?alt=rss] name = Carl Trachte [http://themindcaster.blogspot.com/feeds/posts/default/-/python] name = Carlos Eduardo de Paula -[http://blog.delaguardia.com.mx/feed.atom] -name = Carlos de la Guardia - [http://eatthedots.blogspot.com/feeds/posts/default] name = Casey Duncan -[http://python-catalin.blogspot.com/feeds/posts/default/-/python] -name = Catalin George Festila - [http://catherinedevlin.blogspot.com/feeds/posts/default/-/python] name = Catherine Devlin -[http://www.checkandshare.com/blog/?cat=2?&feed=rss2] -name = Checking and Sharing +[https://chinghwayu.com/category/python/feed/] +name = Ching-Hwa Yu -[http://metachris.org/category/python/feed/atom/] +[https://www.metachris.com/tags/python/index.xml] name = Chris Hager -[http://blog.cdleary.com/category/programming/python/feed/] -name = Chris Leary - -[http://weblog.lonelylion.com/category/python/feed] -name = Chris McAvoy - -[http://plope.com/python.rss] -name = Chris McDonough - [http://chris-miles-writes-python.blogspot.com/feeds/posts/default?alt=rss] name = Chris Miles -[http://www.unquietdesperation.com/category/python/feed] -name = Chris Miller - [http://pyinformatics.blogspot.com/feeds/posts/default] name = Chris Mitchell [http://pbpython.com/feeds/all.atom.xml] name = Chris Moffitt -[http://ideas.offby1.net/feeds/tag-python.atom.xml] +[http://offby1.website/feeds/tag-python.atom.xml] name = Chris Rose [http://feeds.feedburner.com/ChrisWarrickPython] name = Chris Warrick -[https://www.chrisbarra.xyz/index.xml] -name = Christian Barra - [http://lipyrary.blogspot.com/feeds/posts/default] name = Christian Heimes +[https://dev.to/feed/ldrscke.rss] +name = Christian Ledermann + [http://feeds.feedburner.com/mrtopf-python] name = Christian Scholz +[https://bugfactory.io/articles-on-python/feed.xml] +name = Christoph Schiessl + [https://cito.github.io/tags/python/index.xml] name = Christoph Zwerschke -[http://www.cmlenz.net/blog/python.xml] -name = Christopher Lenz - -[http://www.evilchuck.com/feeds/posts/default/-/python] -name = Chuck Thier - -[https://clusterhq.com/feed.python.xml] -name = ClusterHQ - -[https://cobe.io/blog/categories/python.xml] -name = Cobe.io - [https://blog.codegrades.com/feed.xml] name = CodeGrades [http://codesnipers.com/?q=taxonomy/term/16/0/feed] name = CodeSnipers -[https://www.codementor.io/community/topic/python/feed] -name = Codementor +[https://coderslegacy.com/category/python/feed/] +name = CodersLegacy [http://allanderek.github.io/categories/python.xml] name = Coding Diet -[http://oakwinter.com/code/category/python/feed/rss] -name = Collin Winter - -[http://continuum.io/blog/feed] -name = Continuum Analytics Blog - -[http://continuum.io/press/feed] -name = Continuum Analytics News - -[http://continuum.io/blog/category/python/feed] -name = Continuum Blog - -[http://controlfd.com/feed.python.xml] -name = "Control F'd" - -[http://www.coresoftwaregroup.com/blog/topics/python/@@rss.xml] -name = Core Software +[https://www.gallon.me/tag/python/feed] +name = Corey Gallon [http://feeds.feedburner.com/goldblog/python] name = Corey Goldberg -[http://depressedoptimism.com/?tag=python&format=rss] -name = Corey Oordt - [http://feeds.feedburner.com/cormoran-project] name = Cormoran Project -[http://craigkerstiens.com/categories/python/atom.xml] -name = Craig Kerstiens - [http://feeds2.feedburner.com/portablecommandline] name = Cross-Platform Command Line Tools @@ -393,15 +312,9 @@ name = DaPythonista [http://dailytechvideo.com/category/python/feed/] name = Daily Tech Video (Python) -[http://blog.sandbox.lt/tag/rss/en/python] -name = Dalius Dobravolskas - [http://dfwpython.blogspot.com/feeds/posts/default] name = Dallas Fort Worth Pythoneers -[http://www.damian.oquanta.info/categories/python.xml] -name = Damián Avila - [http://late.am/python.feed.xml] name = Dan Crosta @@ -417,35 +330,32 @@ name = Daniel Bader [http://danielnouri.org/notes/category/python/feed/index.xml] name = Daniel Nouri -[https://www.pydanny.com/feeds/python.atom.xml] +[https://daniel.feldroy.com/feeds/python.atom.xml] name = Daniel Roy Greenfeld -[http://www.gefira.pl/blog/tag/planet-python/feed/] -name = Dariusz Suchojad - [http://www.datacommunitydc.org/blog?format=RSS&tag=python] name = Data Community DC [https://www.dataschool.io/tag/python/rss/] name = Data School -[https://www.datacamp.com/community/blog/python-feed.rss] -name = DataCamp - -[https://www.dataquest.io/blog/tag/python/index.xml] -name = Dataquest +[https://www.datawars.io/articles/rss.xml] +name = DataWars.io [http://dabeaz.blogspot.com/feeds/posts/default] name = Dave Beazley +[https://davidamos.dev/tag/python/rss/] +name = David Amos + +[https://davidcaron.dev/feeds/tags/python.atom.xml] +name = David Caron + [http://www.artima.com/weblogs/feeds/bloggers/goodger.rss] name = David Goodger -[http://www.davidgrant.ca/taxonomy/term/14/0/feed] -name = David Grant - -[http://www.djcinnovations.com/archives/category/python/feed/atom] -name = David J C Beach +[http://davidlindelof.com/category/python/feed/] +name = David Lindelof [http://www.drmaciver.com/category/python/feed/] name = David MacIver @@ -453,12 +363,6 @@ name = David MacIver [http://dmalcolm.livejournal.com/data/atom?tag=python] name = David Malcolm -[http://www.redesigndavid.com/atom?&tags=python] -name = David Marte - -[http://www.traceback.org/category/python/feed] -name = David Stanek - [http://www.szotten.com/david/feeds/python.atom.xml] name = David Szotten @@ -471,84 +375,45 @@ name = Davy Mitchell [http://davywybiral.blogspot.com/feeds/posts/default] name = Davy Wybiral -[http://degizmo.com/feed/] -name = DeGizmo +[https://declassed.art/en/feed/python.xml] +name = Declassed Art [http://makkalot-opensource.blogspot.com/feeds/posts/default/-/python] name = Denis Kurov -[http://derrickpetzold.com/index.php/tag/python/feed/atom/] -name = Derrick Petzold - -[http://livingcode.org/tag/python.atom] -name = Dethe Elza - -[http://www.diego-garcia.info/python.atom.xml] -name = Diego Garcia - [http://www.djangoproject.com/rss/weblog/] name = Django Weblog -[http://djangoweekly.com/blog/feed/] -name = Django Weekly - [https://djangostars.com/blog/category/python/feed/] name = Djangostars [http://doingmathwithpython.github.io/feeds/all.atom.xml] name = Doing Math with Python -[http://feeds.doughellmann.com/doughellmann/python] +[https://feeds.feedburner.com/doughellmann/python] name = Doug Hellmann -[http://douglatornell.ca/blog/category/python/feed/index.xml] -name = Doug Latornell - [http://www.dougalmatthews.com/feeds/python.atom.xml] name = Dougal Matthews -[http://dougma.com/category/python/feed/] -name = Douglas Napoleone - -[http://dreamhost.com/dreamscape/tag/python/feed/] -name = DreamHost - [http://oubiwann.blogspot.com/feeds/posts/default/-/python] name = Duncan McGreggor -[https://dusty.phillips.codes/topics/python/index.xml] -name = Dusty Phillips - -[http://easygui.wordpress.com/feed/atom/] -name = EasyGUI - [http://edcrewe.blogspot.com/feeds/posts/default/-/python] name = Ed Crewe -[http://feeds.feedburner.com/RoadWarriorCollaborationPython] -name = Ed Taekema - [http://edreamleo.blogspot.com/feeds/posts/default/-/python] name = Edward K. Ream -[http://pythonthusiast.pythonblogs.com/230_pythonthusiast/feeds/rss20] -name = Eko S. Wibowo - [http://eli.thegreenplace.net/feeds/python.atom.xml] name = Eli Bendersky [http://eniramltd.github.io/devblog/rss/categories/python.xml] name = Eniram Ltd. -[http://blog.enthought.com/?feed=rss2] -name = Enthought - [https://examachine.net/blog/category/python/feed/] name = Eray Özkural (examachine) -[http://ericholscher.com/blog/archive/tag/python/atom.xml] -name = Eric Holscher - [http://www.marsja.se/category/python/feed/] name = Erik Marsja @@ -561,27 +426,24 @@ name = EuroPython [http://www.europython-society.org/rss] name = EuroPython Society -[http://eventh.tumblr.com/tagged/Python/rss] -name = Even Wiik Thomassen - [http://evennia.blogspot.com/feeds/posts/default] name = Evennia -[http://www.snowboardingcoder.com/django/?feed=rss2] -name = Experienced Django +[https://everydaysuperpowers.dev/feed/python/] +name = Everyday Superpowers [http://pydev.blogspot.com/atom.xml] name = Fabio Zadrozny -[http://www.majid.info/mylos/weblog/categories/python/rss.xml] -name = Fazal Majid - [http://en.ig.ma/notebook/feeds/atom/tag/python.xml] name = Filip Wasilewski [http://blog.filipesaraiva.info/?feed=rss2&tag=planet-python] name = Filipe Saraiva +[https://first.institute/en/rss/python/] +name = First Institute of Reliable Software + [http://pyinsci.blogspot.com/feeds/posts/default] name = Flavio Coelho @@ -591,9 +453,6 @@ name = Flavio Percoco [http://blog.devork.be/feeds/posts/default/-/python] name = Floris Bruynooghe -[http://www.franciscosouza.net/feeds/posts/default/-/python] -name = Francisco Souza - [http://fwierzbicki.blogspot.com/atom.xml] name = Frank Wierzbicki @@ -606,13 +465,7 @@ name = François Marier [http://www.fridh.nl/tag/python.atom.xml] name = Frederik Rietdijk -[http://blaag.haard.se/python.xml] -name = "Fredrik Håård's Blaag" - -[http://online.effbot.org/rss.xml] -name = Fredrik Lundh - -[http://feeds.feedburner.com/FromPythonImportPodcast] +[https://www.frompythonimportpodcast.com/feed] name = From Python Import Podcast [https://www.fullstackpython.com/feeds/all.atom.xml] @@ -621,31 +474,13 @@ name = Full Stack Python [http://gael-varoquaux.info/feeds/programming.atom.xml] name = Gaël Varoquaux -[http://blog.tshirtman.fr/tags/python/feed.atom] -name = Gabriel Pettier - -[http://www.galvanize.com/blog/tag/python/feed/] -name = Galvanize - -[http://blog.extracheese.org/feeds/posts/default/-/python] -name = Gary Bernhardt - -[http://thegarywilson.com/blog/feed/python/] -name = Gary Wilson - -[http://geekscrap.com/feed/?tag=python] -name = Geek Scrap - -[http://pythonic.pocoo.org/feed.atom] -name = Georg Brandl - [http://compiletoi.net/feeds/python.atom.xml] name = Georges Dubus [http://ghaandeeonit.tumblr.com/rss] name = Ghaandee on IT -[http://www.grodola.blogspot.com/feeds/posts/default/-/python] +[https://gmpy.dev/feeds/atom.tag.python.xml] name = Giampaolo Rodola [http://giuliofidente.com/feeds/tag/python.atom.xml] @@ -660,22 +495,16 @@ name = Glyph Lefkowitz [http://feeds.feedburner.com/GoDeh] name = Go Deh -[https://godjango.com/rss/main/] -name = GoDjango - [http://blog.gocept.com/tag/python/feed/atom/] name = Gocept Weblog [http://blog.godson.in/feeds/posts/default/-/Python] name = Godson Gera -[http://devalien.com/rss.php?module=blog&cat=python] -name = Gonçalo Margalho - [http://www.curiousvenn.com/?feed=rss2&cat=4] name = Graeme Cross -[http://blog.dscpl.com.au/feeds/posts/default] +[https://grahamdumpleton.me/feed.xml] name = Graham Dumpleton [https://www.grahamwheeler.com/categories/python.xml] @@ -690,42 +519,24 @@ name = Grant Rettke [http://gc-taylor.com/?format=rss&category=Python] name = Greg Taylor -[https://www.gridarrow.com/blog/index.xml] -name = Gridarrow - [http://agiletesting.blogspot.com/feeds/posts/default/-/python] name = Grig Gheorghiu -[http://blog.fizyk.net.pl/tags/python.xml] +[https://fizyk.dev/tags/python.xml] name = Grzegorz Śliwiński [http://neopythonic.blogspot.com/feeds/posts/default] name = Guido van Rossum -[guilhermetoti.com.br/feeds/all.atom.xml] -name = Guilherme Toti - [http://gustavonarea.net/blog/tags/python/feed/] name = Gustavo Narea [http://blog.labix.org/tag/python/feed] name = Gustavo Niemeyer -[http://feeds.feedburner.com/gumuznl] -name = Guyon Moree - [http://pycloud.blogspot.com/feeds/posts/default/-/python] name = Gökhan Sever -[http://blog.vmfarms.com/feeds/posts/default/-/python] -name = Hany Fahim - -[http://nomadblue.com/feeds/python/] -name = Hector Garcia - -[http://www.heikkitoivonen.net/blog/category/python/feed/atom/] -name = Heikki Toivonen - [http://python-in-the-lab.blogspot.de//feeds/posts/default/-/Python] name = Hernan Grecco @@ -738,15 +549,18 @@ name = Holger Krekel [http://www.holger-peters.de/feeds/python.atom.xml] name = Holger Peters +[https://blog.holoviz.org/index.xml] +name = HoloViz + +[https://hugovk.dev/tags/python/index.xml] +name = Hugo van Kemenade + [https://humberto.io/tags/python/index.xml] name = Humberto Rocha [https://hynek.me/feed-python.xml] name = Hynek Schlawack -[http://www.iodigitalsec.com/category/python/feed/] -name = IO Digital Sec - [http://ianozsvald.com/category/python/feed/atom/] name = Ian Ozsvald @@ -756,22 +570,16 @@ name = Ilian Iliev [http://importpython.com/blog/feed/] name = Import Python -[http://intellimath.bitbucket.org/blog/categories/python.xml] -name = Intellimath blog +[https://www.inspiredpython.com/feed] +name = Inspired Python [https://blog.ionelmc.ro/feeds/python.rss.xml] name = Ionel Cristian Maries -[http://python123.org/feed/] -name = Iraj Jelodari - [http://ironpython-urls.blogspot.com/feeds/posts/default] name = IronPython-URLs -[http://ishan.chattopadhyaya.com/blog/?feed=rss2&cat=17] -name = Ishan Chattopadhyaya - -[https://kibiwebgeek.com/category/python/feed/] +[https://islandtropicaman.com/wp/category/python/feed/] name = IslandT [http://fruch.github.io/feed.python.xml] @@ -780,8 +588,8 @@ name = Israel Fruchter [http://codewithoutrules.com/python-atom.xml] name = Itamar Turner Trauring -[http://radian.org/notebook/feed/atom] -name = Ivan Krstic +[https://iximiuz.com/feed-python.atom] +name = Ivan Velichko [https://pupeno.com/tag/python/feed/] name = J. Pablo Fernández @@ -804,36 +612,15 @@ name = Jamal Moir [https://www.b-list.org/feeds/entries/] name = James Bennett -[http://shortcircuit.net.au/~prologic/blog/feeds/tags/python.atom.xml] -name = James Mills - -[http://opkode.net/media/blog/search_rss?portal_type=WeblogEntry&Subject=python] -name = Jan-Carel Brand - -[https://janusworx.com/categories/python.xml] +[https://janusworx.com/tags/planetpython/index.xml] name = Janusworx [http://blog.jarrodmillman.com/feeds/posts/default/-/python] name = Jarrod Millman -[http://www.jasonamyers.com/feed] -name = Jason Meyers - -[http://www.bigjason.com/tags/python.atom] -name = Jason Webb - -[http://blog.jaysinh.com/tags/python/feed.xml] -name = Jaysinh Shukla - -[http://ganwell.github.io/feeds/python.atom.xml] -name = Jean-Louis Fuchs - [http://as.ynchrono.us/feeds/posts/default/-/python] name = Jean-Paul Calderone -[http://jeethurao.com/blog/?feed=rss2&tag=python] -name = Jeethu Rao - [http://jbisbee.blogspot.com/feeds/posts/default/-/python] name = Jeff Bisbee @@ -843,9 +630,6 @@ name = Jeff Bradberry [http://inre.dundeemt.com/category/python/feed/] name = Jeff Hinrichs -[http://www.jeffknupp.com/blog/categories/python/atom.xml] -name = Jeff Knupp - [http://griddlenoise.blogspot.com/feeds/posts/default/-/python] name = Jeff Shell @@ -858,9 +642,6 @@ name = Jeremy Hylton [http://www.blogger.com/feeds/6330681631629046724/posts/default] name = Jim Fulton -[http://feetup.org/blog/dev/python?flav=rss] -name = Jim Hughes - [http://pyrseas.wordpress.com/tag/python/feed/atom/] name = Joe Abbate @@ -870,9 +651,6 @@ name = Joe Pitz [http://blogs.gnome.org/johan/category/python/feed/atom] name = Johan Dahlin -[http://sontek.net/blog/rss/tag/python.rss] -name = John Anderson - [http://clouddbs.blogspot.com/feeds/posts/default/-/python] name = John Burns @@ -882,54 +660,33 @@ name = John Cook [http://eigenhombre.com/feed.python.xml] name = John Jacobsen -[http://jhcore.com/tag/python/feed] -name = John Paulett +[https://www.nbshare.io/feeds/all.atom.xml] +name = John Ludhi/nbshare.io [http://www.indelible.org/feeds/ink/python.xml] name = Jon Parise -[http://hashbeat.blogspot.com/feeds/posts/default/-/Python] -name = Jonathan Dobson - [http://spyced.blogspot.com/feeds/posts/default/-/python] name = Jonathan Ellis [http://feeds.feedburner.com/JonathansPythonBlog] name = Jonathan Harrington -[http://www.tartley.com/?feed=rss2&cat=10] +[https://www.tartley.com/categories/python.xml] name = Jonathan Hartley -[http://www.cleverdevil.org/?rss=1§ion=computing] -name = Jonathan LaCour - [http://jonathanstreet.com/blog/tag/python/atom/] name = Jonathan Street -[http://www.metaklass.org/rss/] -name = Jorge Niedbalski - -[http://puentesarr.in/category/python/feed/] -name = Jorge Puente Sarrín - [http://blog.jorgenschaefer.de/feeds/posts/default/-/Python] name = Jorgen Schäfer [http://pythonmonopoly.wordpress.com/feed/] name = Juan Manuel Contreras -[http://www.juanrodriguezmonti.com.ar/tags/python/index.xml] -name = Juan Rodríguez Monti - -[http://nixtu.blogspot.com/feeds/posts/default/-/python] -name = Juho Vepsäläinen - [http://julien.danjou.info/blog/tags/Python.xml] name = Julien Danjou -[http://dev-tricks.net/category/code/python/feed] -name = Julien Palard - [http://beauty-of-imagination.blogspot.fr/feeds/posts/default/-/python] name = Julien Tayon @@ -948,9 +705,6 @@ name = Kai Lautaportti [https://www.afternerd.com/blog/tag/python/feed/] name = Karim Elghamrawy -[http://kate-editor.org/tag/python/feed/atom/] -name = Kate Editor - [http://nuitka.net/categories/Python.xml] name = Kay Hayen @@ -960,17 +714,11 @@ name = Kay Schluehr [http://kbyanc.blogspot.com/feeds/posts/default/-/python] name = Kelly Yancey -[http://www.kennethreitz.org/?category=Development&format=rss] -name = Kenneth Reitz - -[http://powertwenty.com/kpd/blog/?feed=rss2&cat=3] -name = Kevin Dahlhausen +[https://www.loopwerk.io/articles/tag/python/feed.xml] +name = Kevin Renskers -[http://www.blueskyonmars.com/category/python/feed/] -name = Kevin Dangoor - -[http://nz.pycon.org/feeds/blog/] -name = Kiwi PyCon +[https://kodnito.com/python/rss/] +name = Kodnito [https://devblog.kogan.com/?category=Django&format=rss] name = Kogan Dev @@ -981,9 +729,6 @@ name = Konrad Delong [https://koodaamo.wordpress.com/category/python/feed] name = Koodaamo -[http://kracekumar.com/tagged/python/rss] -name = Kracekumar Ramaraju - [http://cosmicpercolator.com/category/python/feed/atom/] name = Kristján Valur Jónsson @@ -996,24 +741,21 @@ name = Kulbir Saini [http://farmdev.com/feeds/thoughts/on/3/python/] name = Kumar McMillan +[https://vipin711.wordpress.com/category/python/feed/] +name = Kumar Vipin Yadav + [http://kushaldas.in/categories/python.xml] name = Kushal Das [http://charlesnagy.info/category/it/python/feed/] name = Károly Nagy -[http://feeds.feedburner.com/shuttlethread-python] -name = Laurence Rowe - -[http://www.laurentluce.com/posts/tag/python/feed/] -name = Laurent Luce +[https://www.laac.dev/tags/python/index.xml] +name = LAAC Technology [http://laurentszyster.be/blog/feed/] name = Laurent Szyster -[https://www.learnpyqt.com/feeds/atom.xml] -name = Learn PyQt - [http://hypatia.ca/tag/python/feed/] name = Leigh Honeywell @@ -1023,17 +765,11 @@ name = Lennart Regebro [http://leovt.wordpress.com/category/python/feed/atom/] name = Leonhard Vogt -[http://www.getlfs.com/rss/blog] -name = Lightning Fast Shop - [http://blog.lintel.in/tag/python/feed/] name = Lintel Technologies -[http://lion.posterous.com/rss.xml?tag=planetpython] -name = Lion Kimbro - -[http://lionel.textmalaysia.com/category/programming/python/feed] -name = Lionel Tan +[https://linuxstans.com/tag/python/feed/] +name = Linux Stans [https://www.listendata.com/feeds/posts/default/-/Python] name = ListenData @@ -1047,15 +783,15 @@ name = Low Kian Seong [http://codingandlinux.blogspot.com/feeds/posts/default/-/python] name = Luca Botti +[https://chezsoi.org/shaarli/?do=atom&searchtags=python+FromPelican] +name = Lucas Cimon + [http://blog.gmludo.eu/feeds/posts/default/-/python] name = Ludovic Gasc [http://bsg.lericson.se/rssfiltered.rss] name = Ludvig Ericson -[http://lewk.org/blog/tags/Python?flav=atom] -name = Luke Macken - [http://lukeplant.me.uk/blog/categories/python/atom/index.xml] name = Luke Plant @@ -1071,24 +807,18 @@ name = Mahmoud Hashemi [https://maltheborch.com/rss?tags=python] name = Malthe Borch -[http://www.themacaque.com/?tag=python&feed=rss2] -name = Manuel de la Pena Saenz - -[http://vaig.be/feeds/posts/default/-/Python] -name = Marc Garcia - -[http://mkerins.ghost.io/tag/python/rss/] -name = Marc Kerins - -[http://no-ssl.marc-richter.info/category/python/planet-python-articles/feed/] +[https://www.marc-richter.info/category/python/planet-python-articles/feed/] name = Marc Richter -[http://www.malemburg.com/rss] +[https://www.malemburg.com/rss] name = Marc-André Lemburg -[http://www.grulic.org.ar/~mdione/glob/tags/python/index.atom] +[http://www.grulic.org.ar/~mdione/glob/categories/python.xml] name = Marcos Dione +[https://mariatta.ca/tags/python/index.xml] +name = Mariatta + [http://mg.pov.lt/blog/index.xml] name = Marius Gedminas @@ -1101,42 +831,18 @@ name = Mark McLoughlin [http://pywinauto.blogspot.com/atom.xml] name = Mark McMahon -[http://www.learningpython.com/feed/] -name = Mark Mruss - -[http://compoundthinking.com/blog/index.php/category/python/feed] -name = Mark Ramm - -[http://markos.gaivo.net/articles/feeds/python.atom.xml] -name = Marko Samastur - -[http://blog.startifact.com/categories/planetpython.xml] -name = Martijn Faassen - [http://feeds.feedburner.com/zopatista/python] name = Martijn Pieters [https://www.mfitzp.com/feeds/python.tag.atom.xml] name = Martin Fitzpatrick -[http://txzone.net/category/python/feed] -name = Mathieu Virbel - [http://mysqlmusings.blogspot.se/feeds/posts/default/-/python] name = Mats Kindahl -[http://hairysun.com/python.xml] -name = Matt Harrison - [https://www.mattlayman.com/categories/python/index.xml] name = Matt Layman -[http://themattreid.com/wordpress/category/python/feed/] -name = Matt Reid - -[http://www.circulartriangle.com/blog/?feed=atom&tag=python] -name = Matt Wilkes - [http://matthewrocklin.com/blog/feed.python.xml] name = Matthew Rocklin @@ -1146,21 +852,18 @@ name = Matthew Rollings [http://blog.tplus1.com/index.php/category/python/feed] name = Matthew Wilson +[https://www.wrighters.io/category/python/feed/] +name = Matthew Wright + [http://copypasteprogrammer.blogspot.com/feeds/posts/default/-/python] name = Mattias Brändström [http://mauveweb.co.uk/rss.xml] name = Mauveweb -[http://maxischenko.in.ua/planet_python/] -name = Max Ischenko - [http://freshfoo.com/blog/index.atom] name = "Menno's Musings" -[http://techspot.zzzeek.org/?feed=rss2] -name = Michael Bayer - [http://beckerfuffle.com/blog/categories/python/atom.xml] name = Michael Becker @@ -1170,18 +873,15 @@ name = Michael Droettboom [https://agileabstractions.com/feed.xml] name = Michael Foord -[http://starship.python.net/crew/mwh/blog/nb.cgi/syndicate/weblog/python] -name = Michael Hudson - [http://mjtokelly.blogspot.com/feeds/posts/default/-/Python] name = "Michael J.T. O'Kelly" +[https://mkennedy.codes/tags/python/index.xml] +name = "Michael Kennedy's Thoughts on Technology" + [http://micknelson.wordpress.com/category/python/feed/atom/] name = Michael Nelson -[http://yeoldeclue.com/cgi-bin/blog/food.cgi] -name = Michael Sparks - [http://mousebender.wordpress.com/feed/atom/] name = Michal Kwiatkowski @@ -1203,17 +903,14 @@ name = Mike Driscoll [http://python-academy.blogspot.com/feeds/posts/default] name = Mike Müller -[http://www.mikealrogers.com/archives/category/python/feed] -name = Mikeal Rogers - [http://kmike.ru/feeds/tags/planet-python.atom.xml] name = Mikhail Korobov [http://opensourcehacker.com/category/python/feed/] name = Mikko Ohtamaa -[http://dmoonc.com/blog/?cat=24&feed=rss2] -name = Mitch Chapman +[https://mirekdlugosz.com/blog/feeds/planet-python.atom.xml] +name = Mirek Długosz [http://www.elastician.com/feeds/posts/default] name = Mitchell Garnaat @@ -1227,9 +924,6 @@ name = Montreal Python User Group [http://blogologue.com/atom.xml?category=1470141490X3] name = "Morphex's Blogologue" -[http://www.nidelven-it.no/weblogs/hosting/atom.xml?category=1334244339X02] -name = Morten W Petersen - [https://orbifold.xyz/feeds/all.atom.xml] name = Moshe Zadka @@ -1248,33 +942,18 @@ name = Mycli [http://www.thesamet.com/blog/tags/python/rss] name = Nadav Samet -[http://nadiana.com/category/python/feed] -name = Nadia Alramli - [http://learnpython.wordpress.com/feed/atom/] name = Naomi Ceder [http://www.natan.termitnjak.net/blog/category/python/feed/atom/index.xml] name = Natan Zabkar -[http://climateecology.wordpress.com/tag/python/feed/] -name = Nathan Lemoine - -[https://blog.datasciencedojo.com/tag/python-programming/rss/] -name = Nathan Piccini Data Science Dojo Blog - [http://nedbatchelder.com/blog/planetpython.xml] name = Ned Batchelder [http://python.ca/nas/log/rss-python.xml] name = Neil Schemenauer -[http://sandbox.rulemaker.net/ngps/rdf10_python_xml] -name = Ng Pheng Siong - -[http://blog.alienretro.com/category/python-en-2/feed/] -name = Nicholas Amorim - [http://www.curiousefficiency.org/categories/python.xml] name = Nick Coghlan @@ -1308,8 +987,8 @@ name = Nikolaos Diamantis [http://dev.nextthought.com/blog/categories/python.atom] name = Not Invented Here -[http://www.numfocus.org/1/feed] -name = NumFOCUS +[https://nskm.xyz/tags/python/index.xml] +name = Nsukami Patrick [http://www.obeythetestinggoat.com/feeds/all.atom.xml] name = Obey the Testing Goat @@ -1317,21 +996,12 @@ name = Obey the Testing Goat [https://ofosos.org/tag/python/rss/] name = Ofosos -[https://andrich.blog/tag/python/feed/] -name = Oliver Andrich - [http://www.omahapython.org/blog/feed] name = Omaha Python Users Group [http://ondrejcertik.blogspot.com/feeds/posts/default/-/python] name = Ondřej Čertík -[http://openhatch.org/blog/tag/python/feed/atom/] -name = OpenHatch Python posts - -[https://blogs.python-gsoc.org/en/blogs/feed/] -name = PSF GSoC students blogs - [https://www.paulox.net/feed/python.xml] name = Paolo Melchiorre @@ -1341,17 +1011,14 @@ name = Pathwright [http://weblog.patrice.ch/tags/Python.atom] name = Patrice Neff -[http://pp.com.mx/blog/topics/python/feed/atom/] -name = Patricio Paez +[https://wedgworth.dev/tag/python/rss/] +name = Patrick Altman [http://www.patricksoftwareblog.com/tag/python/feed/] name = Patrick Kennedy -[http://pkaudio.blogspot.com/feeds/posts/default/-/python] -name = Patrick Stinson - -[http://news.e-scribe.com/feeds/tag/python/atom.xml] -name = Paul Bissex +[https://patrickm.de/tag/python/rss/] +name = Patrick Müller [http://pauleveritt.wordpress.com/feed/atom/] name = Paul Everitt @@ -1365,15 +1032,9 @@ name = Paul Redman [http://pfertyk.me/feeds/python.atom.xml] name = Paweł Fertyk -[https://www.paypal-engineering.com/tag/python/feed/] -name = PayPal Engineering Blog - [http://pedro.valelima.com/blog/feed/tag/python/] name = Pedro Lima -[https://wearpants.org/feeds/petecode.xml?tag=python] -name = Petecode - [http://www.peterbe.com/oc-Python/rss.xml] name = Peter Bengtsson @@ -1395,9 +1056,6 @@ name = Phil Hassey [http://dunderboss.blogspot.com/feeds/posts/default/-/python] name = Philip Jenvey -[http://blog.pyspoken.com/feed/atom/] -name = Philip Semanchuk - [http://philikon.wordpress.com/category/python/feed/atom/] name = Philipp von Weitershausen @@ -1407,16 +1065,13 @@ name = Philippe Normand [http://feeds.feedburner.com/pje-on-programming] name = Phillip J. Eby -[http://sites.google.com/site/pydatalog/pypl/python-blog/posts.xml] -name = Pierre Carbonnelle - [https://www.podcastinit.com/feed/mp3/] name = Podcast.__init__ [http://polyglot.ninja/category/python/feed/] name = Polyglot.Ninja() -[https://ironboundsoftware.com/blog/category/python/feed/] +[https://blog.ironboundsoftware.com/category/python/feed.xml] name = Possbility and Probability [http://feeds.feedburner.com/btbytes_python] @@ -1428,9 +1083,6 @@ name = Pranav Pandey [http://feeds.feedburner.com/shutupandship_python] name = Praveen Gollakota -[http://programandociencia.com/category/english/feed/] -name = Programando Ciência - [https://www.programiz.com/python-programming/rss.xml] name = Programiz @@ -1440,12 +1092,12 @@ name = Programming Ideas With Jake [https://eshlox.net/tags/python/index.xml] name = Przemysław Kołodziejczyk +[https://pyatl.dev/blog/feed/latest/] +name = PyATL Bytecode + [https://pybit.es/feeds/all.atom.xml] name = PyBites -[http://blog.pycarolinas.org/rss/] -name = PyCarolinas - [http://feeds.feedburner.com/Pycharm] name = PyCharm @@ -1455,27 +1107,15 @@ name = PyCoder’s Weekly [http://feeds.feedburner.com/PyCon] name = PyCon -[https://2016.pycon-au.org/media/news/rss] -name = PyCon Australia - -[https://pune.pycon.org/blog/index.xml] -name = PyCon Pune +[https://pypodcats.live/episodes/index.xml] +name = PyPodcats -[http://de.pycon.org/feed.xml] -name = PyCon.DE & PyData Karlsruhe - -[http://morepypy.blogspot.com/feeds/posts/default] -name = PyPy Development +[https://www.pypy.org/rss.xml] +name = PyPy [http://pytennessee.tumblr.com/rss] name = PyTennessee -[https://www.pytexas.org/blog.rss] -name = PyTexas - -[http://feeds.feedburner.com/pypix] -name = Pypix - [http://python4kids.wordpress.com/feed/atom/] name = Python 4 Kids @@ -1503,33 +1143,45 @@ name = Python Data [http://www.pythondiary.com/blog.xml] name = Python Diary +[https://python.github.io/editorial-board/index.xml] +name = Python Docs Editorial Board + [http://pythondoeswhat.blogspot.com/feeds/posts/default] name = Python Does What?! [https://blogs.msdn.microsoft.com/pythonengineering/feed/] name = Python Engineering at Microsoft +[https://www.pythonguis.com/feeds/all.atom.xml] +name = Python GUIs + [http://feeds.feedburner.com/PythonInsider] name = Python Insider -[http://python-open-mike.posterous.com/rss.xml] -name = Python Open Mike +[https://www.pythonmorsels.com/topics/feed/] +name = Python Morsels + +[https://pythonpeople.fm/rss] +name = Python People [http://www.pyptug.org/feeds/posts/default/] name = Python Piedmont Triad User Group -[http://pyfound.blogspot.com/atom.xml] +[https://www.pythonpool.com/feed/] +name = Python Pool + +[https://pyfound.blogspot.com/feeds/posts/default] name = Python Software Foundation [https://sweetness.hmmz.org/feeds/python.rss.xml] name = Python Sweetness -[http://pythontestingcookbook.posterous.com/rss.xml] -name = Python Testing Cookbook - [http://python-groups.blogspot.com/feeds/posts/default] name = Python User Groups +[https://www.pythonforbeginners.com/feed/] +name = Python for Beginners + [http://python-karan.blogspot.in//feeds/posts/default] name = Python on Karan @@ -1545,15 +1197,15 @@ name = PythonClub - A Brazilian collaborative blog about Python [http://pythondebugging.com/category/python/feed.xml] name = PythonDebugging.com -[http://www.pythonthreads.com/index2.php?option=com_rss&feed=RSS2.0&no_html=1] -name = PythonThreads - -[https://coady.github.io/feeds/all.atom.xml] +[https://coady.github.io/index.xml] name = Pythonicity [http://pythonology.blogspot.com/atom.xml] name = Pythonology +[https://pythonspeed.com/atom.xml] +name = Python⇒Speed + [http://ptspts.blogspot.com/feeds/posts/default/-/planet-python] name = Péter Szabó @@ -1572,10 +1224,7 @@ name = RMOTR [http://threebean.org/blog/category/python/feed/atom/index.xml] name = Ralph Bean -[http://www.ralph-heinkel.com/blog/category/python/feed/atom/index.xml] -name = Ralph Heinkel - -[http://feeds.feedburner.com/RamRachumsBlog/planetpython] +[https://blog.ram.rachum.com/tagged/planetpython/rss] name = Ram Rachum [http://blog.randell.ph/tag/python/feed/atom/] @@ -1599,21 +1248,12 @@ name = Real Python [https://developers.redhat.com/blog/category/python/feed/atom/] name = Red Hat Developers -[http://reinout.vanrees.org/weblog/plonefeed.xml] -name = Reinout van Rees - [http://renesd.blogspot.com/feeds/posts/default/-/python] name = Rene Dudfield [http://blog.lerner.co.il/category/python/feed/] name = Reuven Lerner -[http://rgomes-info.blogspot.co.uk/feeds/posts/default/-/python] -name = Richard Gomes - -[http://www.mechanicalcat.net/richard/log/Python/rss] -name = Richard Jones - [http://posted-stuff.blogspot.com/feeds/posts/default/-/python] name = Richard Tew @@ -1623,41 +1263,29 @@ name = Richard Wall [http://rickardlindberg.me/tags/python/rss.xml] name = Rickard Lindberg +[https://cmlzagk.github.io/feeds/python.atom.xml] +name = Rishi Maker + [http://www.robg3d.com/?tag=python&feed=atom] name = Rob Galanakis -[http://www.robgolding.com/feed/?tag=python] -name = Rob Golding - -[http://blog.nonsequitarian.org/feeds/tags/planetpython/] -name = Rob Miller - -[http://www.aminus.org/blogs/xmlsrv/rss2.php?blog=2&cat=15] -name = Robert Brewer - [http://rbtcollins.wordpress.com/tag/python/feed/atom/] name = Robert Collins [http://rz.scale-it.pl/rss-python.html] name = Robert Zaremba -[http://feeds.feedburner.com/LateralOpinionpython] -name = Roberto Alsina - [http://www.theatreofnoise.com/feeds/posts/default/-/dev] name = Robin Parmar [http://blog.rtwilson.com/category/programming-2/python/feed/] name = Robin Wilson -[http://www.upfrontsystems.co.za/Members/roche/where-im-calling-from/RSS] -name = Roche Compaan - [http://linil.wordpress.com/feed/atom/] name = Rodrigo Araúj -[http://www.imankulov.name/categories/python.xml] -name = Roman Imankulov +[https://mathspp.com/blog/tags/python.rss] +name = Rodrigo Girão Serrão [https://www.rosehosting.com/blog/tag/python/feed/] name = RoseHosting Blog @@ -1680,41 +1308,35 @@ name = SDJournal [http://pythonide.blogspot.com/feeds/posts/default] name = SPE Weblog +[https://www.stxnext.com/blog/tag/python/rss.xml] +name = STX Next + [http://feeds.feedburner.com/sfpy] name = Salim Fadhley -[http://bitshaq.com/tag/python/feed/atom/] -name = Salman Haq - -[http://ssutch.org/tag/python/feed] -name = Samuel Sutch - [https://sandipanweb.wordpress.com/category/python/feed/] name = Sandipan Dey [http://sandrotosi.blogspot.com/feeds/posts/default/-/Python] name = Sandro Tosi -[https://sayanchowdhury.dgplug.org/tags/planet/] -name = Sayan Chowdhury - -[http://python.scripting.com/xml/rss.xml] -name = Scripting the web with Python - [http://seanmcgrath.blogspot.com/feeds/posts/default/-/python] name = Sean McGrath +[https://k-d-w.org/tags/python/index.xml] +name = Sebastian Pölsterl + +[https://switowski.com/python.feed.xml] +name = Sebastian Witowski + [http://www.chesnok.com/daily/category/python/feed/] name = Selena Deckelmann -[https://semaphoreci.com/community/tags/python.atom] -name = Semaphore Community - [http://feeds.feedburner.com/phoe6pythonfeeds] name = Senthil Kumaran -[http://blog.serverdensity.com/category/python/feed/] -name = Server Density +[https://sethmlarson.dev/feed] +name = Seth Michael Larson [http://jjinux.blogspot.com/feeds/posts/default/-/python] name = Shannon -jj Behrens @@ -1722,9 +1344,6 @@ name = Shannon -jj Behrens [http://shiningpanda.com/feeds/all.atom.xml] name = ShiningPanda -[https://tech.shopkick.com/tagged/python/atom.xml] -name = Shopkick Tech Blog - [http://simeonfranklin.com/feeds/python/] name = Simeon Franklin @@ -1761,9 +1380,6 @@ name = Spyder IDE [http://stackabuse.com/tag/python/rss] name = Stack Abuse -[http://stacks.11craft.com/feeds/tag.python.atom.xml] -name = Stacks - [https://smorbieu.gitlab.io/feeds/tag_python.atom.xml] name = Stanislas Morbieu @@ -1773,60 +1389,45 @@ name = Starzel.de [http://blog.behnel.de/index.php?feed=rss2&cat=22] name = Stefan Behnel -[http://blog.garage-coding.com/tag/python/feed.xml] -name = Stefan Petrea - [http://stefan.sofa-rockers.org/feeds/python] name = Stefan Scherfke +[https://stefaniemolin.com/feeds/Python-atom.xml] +name = Stefanie Molin + [http://www.jodal.no/atom-python.xml] name = Stein Magnus Jodal [http://pythonconquerstheuniverse.wordpress.com/feed/atom/] name = Stephen Ferg -[http://stevedower.id.au/blog/category/python/feed/] -name = Steve Dower - [http://holdenweb.blogspot.com/feeds/posts/default/-/python] name = Steve Holden [http://rh0dium.blogspot.com/feeds/posts/default/-/python] name = Steven Klass -[http://stdout.be/tag/django/feed/] -name = Stijn Debrouwere - -[https://storiesinmypocket.com/feed/python/] -name = Stories in My Pocket - [http://TuringFinance.com/category/python/feed/] name = Stuart Gordon Reid [https://wirtel.be/tags/python/index.xml] name = Stéphane Wirtel -[https://www.harihareswara.net/nb/nb.cgi/syndicate/sumana/Programming/Python] +[https://www.harihareswara.net/rss/python/] name = Sumana Harihareswara - Cogito, Ergo Sumana -[http://sumith1896.github.io/feeds/feed.sympy.xml] -name = Sumith - Blog about SymPy/Python - -[http://swaroopch.com/tag/python/feed/] -name = Swaroop C H +[https://www.tutlane.com/pythonfeed.xml] +name = Suresh Dasari/Tutlane.com [https://ict.swisscom.ch/feed/?post_type=cubetech_post&cubetech_keyword=Python] name = Swisscom ICT -[http://www.defuze.org/archives/category/python/feed] -name = Sylvain Hellegouarch +[https://talkpython.fm/blog/posts/index.xml] +name = Talk Python Blog -[http://www.talkpythontome.com/episodes/rss] +[https://talkpython.fm/episodes/rss] name = Talk Python to Me -[http://blog.ziade.org/tag/python/feed] -name = Tarek Ziade - [http://blog.tedmiston.com/tag/python/rss] name = Taylor Edmiston @@ -1836,69 +1437,66 @@ name = TechBeamers Python [https://www.techiediaries.com/tag/django/index.xml] name = Techiediaries - Django -[http://www.sauria.com/blog/category/programming-languages/python/feed/atom/] -name = Ted Leung - -[http://myownhat.blogspot.com/feeds/posts/default/-/python] -name = Tennessee Leeuwenburg - [http://terriko.dreamwidth.org/data/rss?tag=python] name = Terri Oda [http://blogs.fluidinfo.com/terry/category/python/feed/atom/] name = Terry Jones -[http://swordstyle.com/blog2/?feed=rss2&cat=20] -name = Terry Peppers - [http://testandcode.com/rss] name = Test and Code -[http://blog.aicookbook.com/category/python/feed/atom/] -name = The Artificial Intelligence Cookbook - -[https://thecodebits.com/category/python/feed/] -name = The Code Bits +[https://testdriven.io/blog/topics/django/feed.xml] +name = TestDriven.io [http://www.thedatascientist.de/category/python/feed/] name = The Data Scientist -[http://blog.thedigitalcatonline.com/categories/python/atom.xml] +[https://www.thedigitalcatonline.com/categories/python/atom.xml] name = The Digital Cat +[https://lunarcowboy.com/feeds/python.atom.xml] +name = The Lunar Cowboy + [https://no-title.victordomingos.com/feeds/python_rss.xml] name = The No Title® Tech Blog [http://blog.dowski.com/category/python/feed] name = The Occasional Occurrence +[https://fortintam.com/blog/category/planet-python/feed/] +name = The Open Sourcerer + [http://blog.parcon.opengroove.org/feeds/posts/default] name = The Parcon Blog +[https://thepythoncodingbook.com/feed/] +name = The Python Coding Blog + +[https://www.thepythoncodingstack.com/feed] +name = The Python Coding Stack + [http://pythonpapers.blogspot.com/atom.xml] name = The Python Papers +[https://www.pythonshow.com/feed] +name = The Python Show + [https://threeofwands.com/tag/python/rss/] name = The Three of Wands -[http://theautomatic.net/category/python/] -name = TheAutomatic.net - [http://www.tibonihoo.net/blog/en/tag/python/feed/] name = Thibauld Nion +[https://thishosting.rocks/tag/python/feed/] +name = ThisHosting.Rocks + [http://feeds.wordaligned.org/wordaligned/python] name = Thomas Guest [http://thomas.apestaart.org/log/?feed=rss2&cat=22] name = Thomas Vander Stichele -[http://www.tech-foo.net/feeds/tag-python.atom.xml] -name = Thomi Richards - -[https://tmont.es/feeds/python.rss.xml] -name = Tiago Montes - [https://www.tibobeijen.nl/tags/python/index.xml] name = Tibo Beijen @@ -1908,33 +1506,21 @@ name = Tim Arnold / reachtim [http://timgilbert.wordpress.com/category/python/feed/atom/] name = Tim Gilbert -[http://ramblings.tjg.org.uk/categories/python.xml] -name = Tim Golden - [http://feeds.feedburner.com/duffyd] name = Tim Knapp [http://apipes.blogspot.com/feeds/posts/default/-/python] name = Tim Lesher -[http://www.shisaa.jp/categories/python.xml] -name = Tim van der Linden - [http://feeds.feedburner.com/thobe/wardrobe] name = Tobias Ivarsson -[http://powertwenty.com/blog/index.php/category/python/feed] -name = Toes to the Edge - [http://thewebhaswon.wordpress.com/category/python/atom] name = Tom Christie [http://www.sys-exit.blogspot.com/feeds/posts/default/-/python] name = Tomasz Ducin -[http://pragmaticpython.com/feed/?tag=python] -name = Tomasz Früboes - [http://www.tomaz.me/tags/python.xml] name = Tomaž Muraus @@ -1944,9 +1530,6 @@ name = Tomer Filiba [http://tonybreyal.wordpress.com/category/python/feed/atom/] name = Tony Breyal -[http://better-inter.net/rss/python/] -name = Torsten Engelbrecht - [http://anonbadger.wordpress.com/tag/python/feed/atom/] name = Toshio Kuratomi @@ -1956,9 +1539,6 @@ name = Travis Oliphant [https://treyhunner.com/python.xml] name = Trey Hunner -[http://blog.melhase.net/xml/rss20/feed.xml] -name = Troy Melhase - [http://www.tryton.org/rss.xml] name = Tryton News @@ -1968,14 +1548,8 @@ name = Turnkey Linux [http://feeds.feedburner.com/TwistedMatrixLaboratories] name = Twisted Matrix Labs -[https://www.twobitarcade.net/feeds/python.tag.atom.xml] -name = Two Bit Arcade - -[http://copia.posterous.com/rss.xml?tag=python] -name = Uche Ogbuji - -[http://united-coders.com/taxonomy/term/22/0/feed] -name = United Coders +[https://typethepipe.com/categories/python/index.xml] +name = TypeThePipe [http://vsbabu.org/mt/index.rdf] name = V.S. Babu @@ -1992,24 +1566,15 @@ name = Vinay Sajip [http://plumberjack.blogspot.com/feeds/posts/default] name = Vinay Sajip (Logging) -[https://www.vinta.com.br/python/feed/] -name = Vinta Software +[https://vinayak.io/feed/tag/python/rss.xml] +name = Vinayak Mehta [http://www.hardcoded.net/articles/rss_python.xml] name = Virgil Dupras -[https://nvbn.github.io/feed.python.xml] -name = Vladimir Iakolev - [http://www.vperic.blogspot.com/feeds/posts/default/-/Twisted] name = Vladimir Perić -[https://blog.wallaroolabs.com/tags/python/index.xml] -name = Wallaroo Labs - -[http://www.wallix.org/tag/python/feed/atom/] -name = Wallix - [http://pieceofpy.com/category/python/feed/atom/index.xml] name = Wayne Witzel @@ -2025,9 +1590,6 @@ name = Wes Mason [http://wescpy.blogspot.com/feeds/posts/default/-/python] name = Wesley Chun -[http://www.wiggy.net/atom.python.xml] -name = Wichert Akkerman - [http://bluesock.org/~willkg/blog/tag/python.xml] name = Will Kahn-Greene @@ -2043,23 +1605,17 @@ name = William Minchin [http://foolish-assertions.blogspot.com/feeds/posts/default/-/python] name = William Reade -[http://dietbuddha.blogspot.com/feeds/posts/default/-/python] -name = William Thompson - [http://william-os4y.livejournal.com/data/atom] name = "William's Journal" [http://wingware.com/blog/rss&noheader=1] -name = Wingware Blog +name = Wing Tips [http://wingware.com/news/rss&noheader=1] -name = Wingware News +name = Wingware -[http://blog.wraithan.net/tag/python/feed/] -name = Wraithan - -[http://www.yaco.es/blog/en/tag/python-en/feed/] -name = Yaco +[https://wyattbaldwin.com/categories/planet-python/rss.xml] +name = Wyatt Baldwin [http://tech.blog.aknin.name/tag/python/feed/atom/] name = Yaniv Aknin @@ -2067,18 +1623,18 @@ name = Yaniv Aknin [http://www.ylarrivee.com/tag/python/feed/] name = Yann Larrivée -[http://freepythontips.wordpress.com/feed/atom] -name = Yasoob Khalid - [http://uberpython.wordpress.com/tag/python/feed/atom/] name = Yuval Greenfield [http://za.github.io/feed.python.xml] name = Zaki Akhmad -[http://blogfeed.zato.io/blog/categories/planet-python.xml] +[https://zato.io/blog/rss.xml] name = Zato Blog +[https://zerotomastery.io/rss/python-rss.xml] +name = Zero to Mastery + [https://zerowithdot.com/feed.xml] name = Zero-with-Dot (Oleg Żero) @@ -2091,27 +1647,18 @@ name = bottlepy-dev [http://feeds.feedburner.com/codeboje_python] name = codeboje -[http://codingdirectional.info/category/python/feed/] -name = codingdirectional +[https://death.andgravity.com/_feed/index/_tags/python.xml] +name = death and gravity -[http://www.egenix.com/company/news/rss2] +[https://www.egenix.com/company/news/rss2] name = eGenix.com -[https://erambler.co.uk/tags/python.xml] -name = eRambler - -[http://gamingdirectional.com/blog/category/python/feed/] -name = gamingdirectional - [http://hypothesis.works/articles/python/feed/] name = hypothesis.works articles [http://scummos.blogspot.com/feeds/posts/default/-/kdev-python] name = kdev-python -[http://leftmouseclickin.com/category/python/feed/] -name = leftmouseclickin - [https://meejah.ca/planetpython.xml] name = meejah.ca @@ -2124,6 +1671,9 @@ name = pgcli [https://py.checkio.org/blog/special-rss/] name = py.CheckIO +[https://www.pygame.org/news/feed/atom] +name = pygame + [http://www.pythonwise.blogspot.com/feeds/posts/default/-/python] name = pythonwise @@ -2133,15 +1683,18 @@ name = qutebrowser development blog [http://recollection.saaj.me/tag/python.xml] name = saaj/recollection +[https://blog.scikit-learn.org/feed.xml] +name = scikit-learn + +[https://testmon.org/index.xml] +name = testmon + [http://tryexceptpass.org/index.xml] name = tryexceptpass [http://wokslog.wordpress.com/tag/python/feed/atom/] name = Éric Araujo -[http://lukasz.langa.pl/feed/tag/python/rss-en.xml] +[https://lukasz.langa.pl/python/atom.xml] name = Łukasz Langa -[http://pyarab.blogspot.se/atom.xml] -name = بايثون العربي - diff --git a/config/index.html.tmpl b/config/index.html.tmpl index 47e60489..f03ddba4 100644 --- a/config/index.html.tmpl +++ b/config/index.html.tmpl @@ -10,9 +10,6 @@ - - - @@ -95,13 +92,12 @@ src="/static/images/python-logo.gif" alt="homepage" border="0" />
  • Python Summer of Code
  • Planet Python Francophone
  • Planet Python Argentina
  • -
  • Planet Python Japan
  • -
  • Planet Python Brasil
  • -
  • Planet Python Indonesia
  • +
  • Planet Python Brasil
  • Planet Python Poland
  • Python Libraries
  • diff --git a/config/sort-ini.py b/config/sort-ini.py index 9be93e1a..e2db9ff1 100755 --- a/config/sort-ini.py +++ b/config/sort-ini.py @@ -1,21 +1,20 @@ #!/usr/bin/env python import sys -import ConfigParser +import configparser if len(sys.argv) > 1: filename = sys.argv[1] else: filename = 'config.ini' -oconfig = ConfigParser.RawConfigParser() +oconfig = configparser.RawConfigParser() oconfig.read(filename) -# This write will destroy the configuration if there's a crash while -# writing the output. We're in an SVN-controlled directory, so +# This part will destroy the configuration if there's a crash while +# writing the output. We're in an GIT-controlled directory, so # I didn't care enough to fix this. -fd = open(filename, 'wb') -def write(): +with open(filename, 'w', encoding='utf-8') as fd: # Copy of write() code that sorts output by section if oconfig._defaults: fd.write("[%s]\n" % DEFAULTSECT) @@ -45,6 +44,3 @@ def write(): fd.write("name = %s\n" % name) fd.write("\n") -write() - -fd.close() diff --git a/config/summary.html.tmpl b/config/summary.html.tmpl index b0beb90e..844340dc 100644 --- a/config/summary.html.tmpl +++ b/config/summary.html.tmpl @@ -10,9 +10,6 @@ - - - diff --git a/config/titles_only.html.tmpl b/config/titles_only.html.tmpl index 4fc725f0..a77474f2 100644 --- a/config/titles_only.html.tmpl +++ b/config/titles_only.html.tmpl @@ -10,9 +10,6 @@ - - - @@ -81,8 +78,8 @@ src="/static/images/python-logo.gif" alt="homepage" border="0" />
  • Python Summer of Code
  • Planet Python Francophone
  • Planet Python Argentina
  • -
  • Planet Python Japan
  • -
  • Planet Python Brasil
  • +
  • Planet Python Brasil
  • +
  • Planet Python Poland
  • Python Libraries
  • diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..05f528b9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,7 @@ +version: '3.7' +services: + planet: + build: . + command: ["/start.sh"] + ports: + - '8080:8080' diff --git a/static/styles/defaultfonts.css b/static/styles/defaultfonts.css index d62d4a5e..985acb7c 100644 --- a/static/styles/defaultfonts.css +++ b/static/styles/defaultfonts.css @@ -59,7 +59,6 @@ H4 padding: 1px; z-index: 1; background-color:#F7F7F7; - background-image: url(../images/header-bg2.png); background-repeat: repeat-x; border-bottom: 1px solid #999999; } diff --git a/static/styles/largestyles.css b/static/styles/largestyles.css index 3f3d3803..682e8a47 100644 --- a/static/styles/largestyles.css +++ b/static/styles/largestyles.css @@ -64,7 +64,6 @@ H4 padding: 1px; z-index: 1; background-color:#F7F7F7; - background-image: url(../images/header-bg2.png); background-repeat: repeat-x; border-bottom: 1px solid #999999; } diff --git a/static/styles/styles.css b/static/styles/styles.css index d882fbb9..74b5397a 100644 --- a/static/styles/styles.css +++ b/static/styles/styles.css @@ -67,7 +67,6 @@ H4 padding: 1px; z-index: 1; background-color:#F7F7F7; - background-image: url(../images/header-bg2.png); background-repeat: repeat-x; border-bottom: 1px solid #999999; height:84px;