Skip to main content

Bleeding edge dependency testing

Project description

Bleeding edge dependency testing

PyPI - Python Version Code style: black PyPI version Anaconda-Server Badge

Full Documentation

edgetest is a tox-inspired python library that will loop through your project's dependencies, and check if your project is compatible with the latest version of each dependency. It does this by:

  • creating a virtual environment,
  • installing your local package into the environment,
  • upgrading specified dependency package(s), and
  • running your test command.

For example, if you depend on pandas>=0.25.1,<=1.0.0, edgetest will test your project against the most current pandas version (say 1.3.4), so you know if you can safely update your dependency to pandas>=0.25.1,<=1.3.4 or not.

Table Of Contents

Install

Create a conda environment with Python 3.7+ and install from PyPI:

$ python -m pip install edgetest

or conda-forge:

$ conda install -c conda-forge edgetest

Getting Started

edgetest allows multi-package, bleeding edge dependency testing. Suppose you have a package, mypackage, with the following requirements.txt:

pandas>=0.25.1,<=1.0.0
...

edgetest allows you to test your package against the latest version of pandas. If you run

$ edgetest

the package will

  1. Create a virtual environment in the .edgetest folder,
  2. Install the local mypackage: .edgetest/pandas/bin/python -m pip install .,
  3. Upgrade pandas: .edgetest/pandas/bin/python -m pip install pandas --upgrade,
  4. Run .edgetest/pandas/bin/python -m pytest, and
  5. Repeat steps 1-4 for all packages in requirements.txt.

After you run the command, you should get console output similar to the following:

============= =============== =================== =================
 Environment   Passing tests   Upgraded packages   Package version
------------- --------------- ------------------- -----------------
 pandas        True            pandas              1.3.4
============= =============== =================== =================

Options

See the advanced usage page.

Plugins

Current plugins include:

Plugin Description
edgetest-conda Uses conda or mamba for environment creation instead of venv.
edgetest-hub Creates a pull request in your GitHub repository with the dependency updates.
edgetest-pip-tools Refreshes a locked requirements file based on the updated dependency pins.

Contributing

See our developer documentation.

We welcome and appreciate your contributions! Before we can accept any contributions, we ask that you please be sure to sign the Contributor License Agreement (CLA)

This project adheres to the Open Source Code of Conduct. By participating, you are expected to honor this code.

License

Apache-2.0

Roadmap

Roadmap details can be found here.

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

edgetest-2021.12.5.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

edgetest-2021.12.5-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file edgetest-2021.12.5.tar.gz.

File metadata

  • Download URL: edgetest-2021.12.5.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for edgetest-2021.12.5.tar.gz
Algorithm Hash digest
SHA256 df4517541c340720a6dc95d6e89b2a1a67972ad61329ae36eceedb67e897eefa
MD5 d74a81c43a55d93bda3e5c032babe145
BLAKE2b-256 24acac9c5bb059eec35cb61c73d27a7689e874b200c94ef89cf042b959591311

See more details on using hashes here.

File details

Details for the file edgetest-2021.12.5-py3-none-any.whl.

File metadata

  • Download URL: edgetest-2021.12.5-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for edgetest-2021.12.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6dd34380b116f004813964f56dd460baf1c379c3218f4f4bfadbde3c6ef02418
MD5 2242830f08094de9c8ace6449f6efa37
BLAKE2b-256 2b6ca582d85f991f70d231a414cf8b16d6d8236835f841b3cee11b31c53dfa3a

See more details on using hashes here.

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