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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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