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.8.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

edgetest-2024.8.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for edgetest-2024.8.0.tar.gz
Algorithm Hash digest
SHA256 cda3464d611ad79a83ec4bf935b04252ce5559fc84b6b71fe17b5440c92b08bf
MD5 453d5abaa8d9927318f544e6d724fd7b
BLAKE2b-256 fb8da7b88aa6bcf8549757fdba96e6e33fcf43efbdeb57d21e795f506d2d3061

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edgetest-2024.8.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 271ea00d2e106cf21624a756033e70eea8e609408d70b76cbdf83b19feb9510e
MD5 4a2648cba72a79250bc4ad5782ad799e
BLAKE2b-256 ba1b8e91e4680c9adf1ab8813712d9551e6811ae3eda4be8aea7696b999a6d0c

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