Skip to main content

VDL Tools

Project description

VDL Tools

This repository contains a set of tools which are used at Vibrant Data Labs.

Tools

Installation

For Users

Install the package from PyPI:

pip install vdl-tools

For Developers

  1. Clone the repository:
git clone https://github.com/vibrant-data-labs/vdl-tools.git
cd vdl-tools

Hatch

  1. Install Hatch:
pip install hatch
  1. Create development environment:
hatch env create
  1. (Optional) Install pre-commit hooks:
pip install pre-commit
pre-commit install

Option B: Using PyEnv + pip

If you prefer managing Python versions with PyEnv:

  1. Install PyEnv (if not already installed):
# macOS
brew install pyenv

# Linux
curl https://pyenv.run | bash
  1. Install Python 3.12:
pyenv install 3.12.7
pyenv local 3.12.7
  1. Create a virtual environment:
pyenv virtualenv 3.12.7 <yourenvname>
pyenv activate <yourenvname>
  1. Install the package in editable mode:
pip install -e ".[test,lint]"
  1. (Optional) Install pre-commit hooks:
pip install pre-commit
pre-commit install

Development

This project uses Hatch for environment management, building, and publishing. However, you can also use standard Python tools if you prefer.

Quick Commands (Work with both Hatch and PyEnv)

# Run tests
make test

# Run tests with coverage
make test-cov

# Run linters
make lint

# Format code
make format

# Build package
make build

# Show all available commands
make help

Using Hatch Directly

# Enter development shell
hatch shell

# Run tests
hatch run test

# Run linters
hatch run lint:all

# Format code
hatch run lint:fmt

# Build package
hatch build

# Bump version
hatch version patch  # or minor/major

# Publish to PyPI
hatch publish

Adding a New Dependency

  1. Add the package to pyproject.toml in the [project.dependencies] section
  2. Update your environment:
hatch env prune  # Remove old environment
hatch env create  # Create new environment with updated dependencies

Or if using pip directly:

pip install -e .

Contributing

Please see CONTRIBUTING.md for detailed guidelines on:

  • Development setup
  • Code style and quality standards
  • Testing requirements
  • Pull request process
  • Release workflow

CI/CD

This project uses GitHub Actions for continuous integration and deployment:

  • CI: Runs tests, linters, and builds on every push and PR
  • Dependabot: Automatically updates dependencies weekly
  • Release: Automatically publishes to PyPI when a version tag is pushed

License

See LICENSE file for details.

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

vdl_tools-2.0.1.tar.gz (23.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vdl_tools-2.0.1-py3-none-any.whl (23.4 MB view details)

Uploaded Python 3

File details

Details for the file vdl_tools-2.0.1.tar.gz.

File metadata

  • Download URL: vdl_tools-2.0.1.tar.gz
  • Upload date:
  • Size: 23.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for vdl_tools-2.0.1.tar.gz
Algorithm Hash digest
SHA256 1ca82563ce1ed5bcef4dfeedcab81fed9e2a8cb2ceb2a20445cea8c2b5feb1bc
MD5 432573022245c4a1b92f1b138dbb6442
BLAKE2b-256 96e629818a1e4e13b934201ae1bc5732cb3180822ac7f13b90060e413c36d877

See more details on using hashes here.

File details

Details for the file vdl_tools-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: vdl_tools-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for vdl_tools-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f857d1a58d78a102200b04db93225069067402d8f09c8c5674cd10081f97b02b
MD5 9d5f417e5d97d10c337c136f46230855
BLAKE2b-256 09216e72878408a65ba10cbad32290fb1edbe84876b593944e0a6828aa759aed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page