Skip to main content

CLI for the Hypothesis development environment

Project description

hdev

The CLI for the Hypothesis development environment.

Usage

usage: hdev [-h] [--project-dir PROJECT_DIR] [--debug] {clean,python_version,requirements,template} ...

positional arguments:
  {clean,python_version,requirements,template}
    clean               Clean a project directory
    python_version      Dump the versions of Python in various formats
    requirements        Compiles .txt requirements file based on the existing .in files using pip-tools
    template            Update the local project template

optional arguments:
  -h, --help            show this help message and exit
  --project-dir PROJECT_DIR
                        Path of the project's root. Defaults to .
  --debug               Enable debugging info

There are lots of different ways to install hdev:

  • Install from pypi into your Python environment:
    • For development: pip install -e .
    • Or the latest version from PyPI: pip install hdev
  • Install using pipx for an isolated install:
    • For development: pipx install -e .
    • From PyPI: pipx install hdev
  • Or add hdev as a dependency to the project you want to use it in

Configuration

hdev is configured within your project's pyproject.toml file with the following options:

[tool.hdev.requirements]
# Custom locations for requirements files to compile
order = [
    "src/hdev/requirements/pip-tools.in"
]

[tool.hdev.clean]
# File and directory patterns relative to the root to remove.
# These support shell expansions and patterns
files=[]
dirs=[]
# File and directory names which will be removed anywhere they
# are found. These support shell expansions and patterns
file_names=[]
dir_names=[]

You can choose to not use any configuration, in that case hdev provides sensible default for most Hypothesis projects.

Hacking

Installing hdev in a development environment

You will need

  • Git

  • pyenv Follow the instructions in the pyenv README to install it. The Homebrew method works best on macOS. On Ubuntu follow the Basic GitHub Checkout method.

Clone the git repo

git clone https://github.com/hypothesis/hdev.git

This will download the code into a hdev directory in your current working directory. You need to be in the hdev directory for the rest of the installation process:

cd hdev

Run the tests

make test

That's it! You’ve finished setting up your hdev development environment. Run make help to see all the commands that're available for linting, code formatting, packaging, etc.

Updating the Cookiecutter scaffolding

This project was created from the https://github.com/hypothesis/h-cookiecutter-pypackage/ template. If h-cookiecutter-pypackage itself has changed since this project was created, and you want to update this project with the latest changes, you can "replay" the cookiecutter over this project. Run:

make template

This will change the files in your working tree, applying the latest updates from the h-cookiecutter-pypackage template. Inspect and test the changes, do any fixups that are needed, and then commit them to git and send a pull request.

If you want make template to skip certain files, never changing them, add these files to "options.disable_replay" in .cookiecutter.json and commit that to git.

If you want make template to update a file that's listed in disable_replay simply delete that file and then run make template, it'll recreate the file for you.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hdev, version 0.1.8
Filename, size File type Python version Upload date Hashes
Filename, size hdev-0.1.8.tar.gz (17.3 kB) File type Source Python version None Upload date Hashes View
Filename, size hdev-0.1.8-py3-none-any.whl (18.4 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page