Bleeding edge dependency testing
Project description
Bleeding edge dependency testing
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
- Create a virtual environment in the
.edgetest
folder, - Install the local
mypackage
:.edgetest/pandas/bin/python -m pip install .
, - Upgrade
pandas
:.edgetest/pandas/bin/python -m pip install pandas --upgrade
, - Run
.edgetest/pandas/bin/python -m pytest
, and - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 909684feca4fb2b77911694cba95dcfa8e3b15af9b0fe6393ac1c14e1d15a19f |
|
MD5 | e77ba9deaef64e5b6b6c02317f8f55b8 |
|
BLAKE2b-256 | 12c2282fc4860162e5a04d6b571833fe5f617d6e578859061bcf25a3bcbbff39 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e53ef11008b46cb44c442544143390e734df3ac7a0c1e52d2d8862450d223833 |
|
MD5 | e62308aafbac8844f26822143841c264 |
|
BLAKE2b-256 | 48454dd851bc9dd06c64390e9bb62bbd8c40573acf26d988a03aaa96840a7eaa |