Skip to main content

A modern environment/dependency manager for Python.

Project description

epl (pronounced ‘epple’) provides enhanced package logistics

epl strives to be a new type of manager for virtual environments and packages. It will also attempt to incorporate several recent additions to the Python Standard Library in order to take advantage of all the wonder that is Python 3.

Background

When I first started developing with Python, the latest version was 3.4, which is what I used. I’ve never had any reason to to go back and learn much about Python2. Over the years now, my Python skills have (I hope) improved, as has the Python language itself.

One of the most difficult things I’ve had to master as a Python developer is dealing with Packaging and Dependency Management. In addition, although I’ve been a big fan of virtualenv and virtualenvwrapper, as of Python 3.3, the Standard Library includes its own venv module and I would like to explore the possibilities with that.

epl is an exploration for me at this point. If things go really, really well, it could be the next big thing 😜. On the other hand, it could die a horrible death next month, as I throw up my hands and run screaming for the exits…🤯

Objectives

epl is inspired by pip and Pipenv but yearns to be somehthing a little bit more - and also a little bit less.

  • No backwwards compatibility with Python 2

  • Avoid as many external dependencies as possible

  • Explore the possibility of a ‘core’ install capability that can be used to bootstrap the initial install of epl

  • Subclass the venv.EnvBuilder class in the Standard Library to implement virtual environments

  • Implement TDD and BDD right from the start

  • Implement type hints, using the new typing module, introduced in Python 3.5

  • Implement Pipfile and Pipfile.lock, rather than requirements.txt. See the Pipfile project on GitHub

  • Implement checks of signed code using GPG

  • Provide the ability to completely package and deploy the recursive set of dependencies in addition to the target package, for installation of packages when there is no network availability

  • Specify Build System dependencies using pyproject.toml, as described in PEP 518

Installing

Install and update using pip:

pip install -U epl

Project details


Download files

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

Source Distribution

epl-0.0.2.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

epl-0.0.2-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file epl-0.0.2.tar.gz.

File metadata

  • Download URL: epl-0.0.2.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for epl-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c0a074dde2bfa0d0b6633522849022cf9dab19297509af151c84f639fb575279
MD5 c8a803f3227ce31cd20b13a06a5d4cbd
BLAKE2b-256 8f4283b01ea777bbe18d82216799c2c01dc7ea4d031844d0185bf2b053557162

See more details on using hashes here.

File details

Details for the file epl-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: epl-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for epl-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6f2bf36b30d15f29b6cc0a34ed77026e451747314d2747df281e4d2790dd4602
MD5 504a1ef6a9d0c12b417a5c2635fe41cf
BLAKE2b-256 d1ade700400c8327c372c21fa1a2f818669dbb13768ca1ddd61cc78e4716d96e

See more details on using hashes here.

Supported by

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