
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Recreate tox virtual environments when `pyproject.toml`, `setup.cfg` or `setup.py` change.
Recreate tox virtual environments when pyproject.toml
, setup.cfg
or setup.py
change.
tox-recreate causes tox to automatically recreate its virtualenvs if your
pyproject.toml
, setup.cfg
or setup.py
files have changed.
Normally tox will automatically trigger a recreation of the venv if the test
deps
in tox.ini
have changed. But what about your package's requirements in
pyproject.toml
, setup.cfg
or setup.py
? If those change tox won't
automatically recreate the venv, you're expected to run tox --recreate
yourself.
tox-recreate keeps track of the hashes of your pyproject.toml
, setup.cfg
and setup.py
files and triggers tox to recreate your venvs if they change.
First you'll need to install:
sudo apt install git
, on macOS: brew install git
.make --version
to check.Then to set up your development environment:
git clone https://github.com/hypothesis/tox-recreate.git
cd tox-recreate
make help
First, to get PyPI publishing working you need to go to:
https://github.com/organizations/hypothesis/settings/secrets/actions/PYPI_TOKEN
and add tox-recreate to the PYPI_TOKEN
secret's selected
repositories.
Now that the tox-recreate project has access to the PYPI_TOKEN
secret
you can release a new version by just creating a new GitHub release.
Publishing a new GitHub release will automatically trigger
a GitHub Actions workflow
that will build the new version of your Python package and upload it to
https://pypi.org/project/tox-recreate.
To change what versions of Python the project uses:
Change the Python versions in the cookiecutter.json file. For example:
"python_versions": "3.10.4, 3.9.12",
Re-run the cookiecutter template:
make template
Commit everything to git and send a pull request
To change the production dependencies in the setup.cfg
file:
Change the dependencies in the .cookiecutter/includes/setuptools/install_requires
file.
If this file doesn't exist yet create it and add some dependencies to it.
For example:
pyramid
sqlalchemy
celery
Re-run the cookiecutter template:
make template
Commit everything to git and send a pull request
To change the project's formatting, linting and test dependencies:
Change the dependencies in the .cookiecutter/includes/tox/deps
file.
If this file doesn't exist yet create it and add some dependencies to it.
Use tox's factor-conditional settings
to limit which environment(s) each dependency is used in.
For example:
lint: flake8,
format: autopep8,
lint,tests: pytest-faker,
Re-run the cookiecutter template:
make template
Commit everything to git and send a pull request
To test it manually you can install your local development copy of
tox-recreate
into the local development environment of another tox-using
project such as
cookiecutter-pypackage-test:
Install a local development copy of cookiecutter-pypackage-test
in a temporary directory:
git clone https://github.com/hypothesis/cookiecutter-pypackage-test.git /tmp/cookiecutter-pypackage-test
Run cookiecutter-pypackage-test
's make sure
command to make sure that
everything is working and to trigger tox to create its .tox/.tox
venv:
make --directory "/tmp/cookiecutter-pypackage-test" sure
Uninstall the production copy of tox-recreate
from cookiecutter-pypackage-test
's .tox/.tox
venv:
/tmp/cookiecutter-pypackage-test/.tox/.tox/bin/pip uninstall tox-recreate
Install your local development copy of tox-recreate into cookiecutter-pypackage-test
's .tox/.tox
venv:
/tmp/cookiecutter-pypackage-test/.tox/.tox/bin/pip install -e .
Now cookiecutter-pypackage-test
commands will use your local development copy of tox-recreate
:
make --directory "/tmp/cookiecutter-pypackage-test" test
FAQs
Recreate tox virtual environments when `pyproject.toml`, `setup.cfg` or `setup.py` change.
We found that tox-recreate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.