Skip to main content

Managed isolated environments for Python

Project description

Isolate

Run any Python function, with any dependencies, in any machine you want. Isolate offers a pluggable end-to-end solution for building, managing, and using isolated environments (virtualenv, conda, remote, and more).

Motivation

XKCD 1987

The fact that nearly every piece of software uses some other libraries or some other programs is undeniable. Each of these come with their set of dependencies, and this chain moves forward. Once there are enough 'nodes' in the chain, then the "dependency mess" starts to surface and our lives become much harder.

Python tried to solve it by recommending the "virtual environment" concept. In theory it was designed to isolate environments of different projects, so my project A can depend on pandas==1.0.0 while B depends on pandas==2.0.0 and whichever project I choose to work with, I just activate its own environment.

Overall this was a very nice solution that did work, and still continues to work for this use case. But as with every other scoped fix, in time other problems started to appear that demand a much narrower scope (like defining module-level dependencies, or even function-level ones for cloud runtimes that allow seamless integration with the rest of your code running in a different machine).

However, unlike "virtual environment" concept, each of the projects that tried to tackle this problem lacked a universal interface which one can simply define a set of requirements (this might be dependencies, size of the machine that is needed to run it, or something completely different) and can change it without any loss. Isolate is working towards a future where this transititon is as seamless as the transition from your local environment to the remote environment.

Contributing

Installing in editable mode with dev dependencies

pip install -e '.[dev]'

Running tests

pytest

Pre-commit

pre-commit install

Commit format

Please follow conventional commits specification for descriptions/messages.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isolate-0.26.2.tar.gz (96.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isolate-0.26.2-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

File details

Details for the file isolate-0.26.2.tar.gz.

File metadata

  • Download URL: isolate-0.26.2.tar.gz
  • Upload date:
  • Size: 96.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for isolate-0.26.2.tar.gz
Algorithm Hash digest
SHA256 65f12cbf99877d80002f3b4d66c5d410ce3e04337bf7b9c8b128f15ff9f23433
MD5 ae7bea7ded5284fd3b12c52536a2455b
BLAKE2b-256 3c1a660afd1f0f1e77128002188256843540d5e7bf08634f2a92d007b7c83806

See more details on using hashes here.

Provenance

The following attestation bundles were made for isolate-0.26.2.tar.gz:

Publisher: release.yml on fal-ai/isolate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isolate-0.26.2-py3-none-any.whl.

File metadata

  • Download URL: isolate-0.26.2-py3-none-any.whl
  • Upload date:
  • Size: 81.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for isolate-0.26.2-py3-none-any.whl
Algorithm Hash digest
SHA256 92a50e0d8dd861e2d92fb3321316551bc3b6f951228c7a89d2314e136817fe3c
MD5 b04ed90c7b5ff3efd361415b7d66d0a5
BLAKE2b-256 9f6a53423d49f8fabe1ee5b9cabb16fceb647931511a3721b50bb01ad6a1defc

See more details on using hashes here.

Provenance

The following attestation bundles were made for isolate-0.26.2-py3-none-any.whl:

Publisher: release.yml on fal-ai/isolate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page