Skip to main content

A simple utility to check Conda environments integrity

Project description

ekans - A simple utility to check Conda environments integrity

builds.sr.ht status PyPI version

ekans is an simple set of scripts able to perform different checks on Anaconda environments. This script is mainly thought as an easy way to substitute the notion of development dependencies, which is lacking in Conda environments.

Development dependencies are packages that are used during development and that must strictly correlate with the Python version of the project. Some other package managers (like Poetry) are able to define these dependencies to be installed in regular environments but excluded from builds or using flags. This is not possible in Conda: all packages in the declared environment are treated equally, which implies this unwanted dependencies being bundled in production as well. On the other hand, fighting against it makes the environment prone to be non-consistent between production and development.

One way to solve this situation is having two different environments: env/prod.yml and env/dev.yml. ekans is able to check that all versions are fixed and that production is a strict subset of development. This results in the desired scenario: correctly excluding the unwanted dependencies while ensuring that both environments have the same real dependencies to test against.

Install

It is possible to install the package from PyPI using pip:

pip install --user ekans

Usage

To check if an environment can be reproduced correctly, use the fixed in the CLI tool. Not passing -f will cause the command to interactively prompt the user to enter the path to the file.

ekans fixed [-f path/to/environment.yml]

If you want to check a full setup (env/prod.yml and env/dev.yml and their relation) you can use the command verify, as seen in this example:

ekans verify [-d path/to/dev.yml] [-p path/to/prod.yml]

If you are running ekans from the root of your project and your names match the ones described in this README, you can omit passing any arguments. There are also --help flags available for the commands described above.

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

ekans-0.2.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

ekans-0.2.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file ekans-0.2.1.tar.gz.

File metadata

  • Download URL: ekans-0.2.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.6.2-arch1-2

File hashes

Hashes for ekans-0.2.1.tar.gz
Algorithm Hash digest
SHA256 cdfdf818f64c5792a213d2b49c24c6fab1fef922c3b343d26293edaaa6490b2e
MD5 69b3b7d6a6ae8d996781bb17c696492b
BLAKE2b-256 18605abd630fe9b5e46e18829b80074ccf6de3ab79eba7f3c389741f9a07daa1

See more details on using hashes here.

File details

Details for the file ekans-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: ekans-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.6.2-arch1-2

File hashes

Hashes for ekans-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a9fb08d8f8a084cb8e7ab32b43e5a2fecc2c51e1d1348f9ac891f99362345991
MD5 79a95cb71b23ea2756bf68198a02816f
BLAKE2b-256 87fbf1ad2a766334984798d8c93636bbfa190a2f23ff68b2023d8df1bbcad415

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