nowfound

Dev tools · September 23, 2022

MP

Morgan – PyPI Mirror for Restricted/Offline Environments

Mirroring PyPI packages for environments/networks that do not have access to the Internet is hard. It's actually hard even in environments that do have access to the Internet. Most solutions out there either: 1. Depend on pip to download and cache package distributions. This means those downloads will probably only work in a similar environment (same Python interpreter, same libc), because of the nature of binary package distributions and the fact that packages have optional dependencies for different environments. 2. Depend on other PyPI packages, meaning installing the mirror in a…

In plain words

Morgan is a PyPI mirror tool designed for offline and restricted network environments. It creates mirrors based on configuration files that specify target environments, avoiding common pitfalls of dependency resolution and environment compatibility issues. Unlike solutions that depend on pip caching or other PyPI packages, Morgan resolves complete dependency chains for partial mirroring. It's built for developers and system administrators who need reliable Python package access in isolated or air-gapped networks.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

Mirroring PyPI packages for environments/networks that do not have access to the Internet is hard. It's actually hard even in environments that do have access to the Internet. Most solutions out there either: 1. Depend on pip to download and cache package distributions. This means those downloads will probably only work in a similar environment (same Python interpreter, same libc), because of the nature of binary package distributions and the fact that packages have optional dependencies for different environments. 2. Depend on other PyPI packages, meaning installing the mirror in a restricted environment in itself is too difficult. 3. Cannot resolve dependencies of dependencies, meaning mirroring PyPI partially is extremely difficult, and PyPI is huge. Morgan works differently. It creates a mirror based on a configuration file that defines target environments (using Python's standard Environment Markers specification from PEP 345) and a list of package requirement strings (e.g. "requests>=2.24.0"). It downloads all files relevant to the target environments from PyPI (both source and binary distributions), and recursively resolves and downloads their dependencies, again based on the target environments. It then extracts a single-file server to the mirror directory that works with Python 3.7+, has no outside dependencies, and implements the standard Simple API. This directory can be copied to the restricted network, through whatever security policies are in place, and deployed easily with a simple `python server.py` command. I should note that Morgan can find dependencies from various metadata sources inside package distributions, including standard METADATA/PKG-INFO/pyproject.toml files, and non-standard files such as setuptools' requires.txt. There's more information in the Git repository. If this is interesting to you, I'll be happy to receive your feedback. Thanks!

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 1d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, September 2022

the whole month →
  • IM

    Life & fun · 2022 · dogbunnypuzzle.com

  • IM

    A couple of years ago, I had an interesting idea. What if there was a marketplace where all the underlying tech was open-source? The order management system, the storefront, customer support, etc. The marketplace would simply connect to the seller’s infra instead of locking them in. If, for some reason, the seller is removed from the marketplace, their software stays with them and they can continue accepting orders directly. This model can be used to disrupt any marketplace from AirBNB to UberEats: building tech for home renters and restaurants and later, leveraging that to build a competing…

    Dev tools · 2022 · openship.org

  • Polywork1,216

    Discover opportunities to collaborate

    Life & fun · 2022

  • xTiles1,035

    Organize your ideas & projects visually

    Work · 2022 · xtiles.app

  • Arcade 2.01,026

    The easiest way to showcase your product

    Life & fun · 2022 · arcade.software

  • Maven977

    100+ live courses taught by experts, education reimagined

    Life & fun · 2022 · maven.com