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 PyPI - Downloads

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.

edgetest works with the following types of projects:

  • pyproject.toml
  • setup.cfg
  • and requirements.txt

Table Of Contents

Install

Create a conda environment with Python 3.8+ 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-2024.10.0.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

edgetest-2024.10.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edgetest-2024.10.0.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for edgetest-2024.10.0.tar.gz
Algorithm Hash digest
SHA256 909684feca4fb2b77911694cba95dcfa8e3b15af9b0fe6393ac1c14e1d15a19f
MD5 e77ba9deaef64e5b6b6c02317f8f55b8
BLAKE2b-256 12c2282fc4860162e5a04d6b571833fe5f617d6e578859061bcf25a3bcbbff39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edgetest-2024.10.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for edgetest-2024.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e53ef11008b46cb44c442544143390e734df3ac7a0c1e52d2d8862450d223833
MD5 e62308aafbac8844f26822143841c264
BLAKE2b-256 48454dd851bc9dd06c64390e9bb62bbd8c40573acf26d988a03aaa96840a7eaa

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