Skip to main content

A python package for simulating populations of gravitational-wave sources.

Project description

gwsim_pop

Python CI pre-commit.ci status Documentation Status codecov PyPI Version Python Versions License: MIT Security: bandit DOI

A Python package for simulating populations of gravitational-wave sources.

Installation

We recommend using uv to manage virtual environments for installing gwsim_pop.

If you don't have uv installed, you can install it with pip. See the project pages for more details:

  • Install via pip: pip install --upgrade pip && pip install uv
  • Project pages: uv on PyPI | uv on GitHub
  • Full documentation and usage guide: uv docs

Requirements

  • Python 3.10 or higher
  • Operating System: Linux, macOS, or Windows

Note: The package is built and tested against Python 3.10-3.12. When creating a virtual environment with uv, specify the Python version to ensure compatibility: uv venv --python 3.10 (replace 3.10 with your preferred version in the 3.10-3.12 range). This avoids potential issues with unsupported Python versions.

Install from PyPI

The recommended way to install gwsim_pop is from PyPI:

# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install gwsim_pop

Optional Dependencies

For development or specific features:

# Development dependencies (testing, linting, etc.)
uv pip install gwsim_pop[dev]

# Documentation dependencies
uv pip install gwsim_pop[docs]

# All dependencies
uv pip install gwsim_pop[dev,docs]

Install from Source

For the latest development version:

git clone git@github.com:Leuven-Gravity-Institute/gwsim_pop.git
cd gwsim_pop
# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install .

Development Installation

To set up for development:

git clone git@github.com:Leuven-Gravity-Institute/gwsim_pop.git
cd gwsim_pop

# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install ".[dev]"

# Install the commitlint dependencies
npm install

# Install pre-commit hooks
pre-commit install
pre-commit install --hook-type commit-msg

Verify Installation

Check that gwsim_pop is installed correctly:

gwsim_pop --help
python -c "import gwsim_pop; print(gwsim_pop.__version__)"

Documentation

Full documentation to be available at https://leuven-gravity-institute.github.io/gwsim_pop.

Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Release Schedule

Releases follow a fixed schedule: every Tuesday at 00:00 UTC, unless an emergent bugfix is required. This ensures predictable updates while allowing flexibility for critical issues. Users can view upcoming changes in the draft release on the GitHub Releases page.

Testing

Run the test suite:

pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For questions or issues, please open an issue on GitHub or contact the maintainers.

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

gwsim_pop-0.0.3.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

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

gwsim_pop-0.0.3-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file gwsim_pop-0.0.3.tar.gz.

File metadata

  • Download URL: gwsim_pop-0.0.3.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gwsim_pop-0.0.3.tar.gz
Algorithm Hash digest
SHA256 7ef45f637f0954ec76a8b6961dbc2ed2e4734dc5604b6deab0c122e456f93e7b
MD5 126294596d60e1f53bf585536054fb27
BLAKE2b-256 61d1afb626d31b7ff8d62cad707ff573dbe78bac508f138a6771301785e2a196

See more details on using hashes here.

Provenance

The following attestation bundles were made for gwsim_pop-0.0.3.tar.gz:

Publisher: create_tag.yml on Leuven-Gravity-Institute/gwsim_pop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gwsim_pop-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: gwsim_pop-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gwsim_pop-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 088c69805230019f62c31d8c7a9a3a4f61f2712e2ec42681323004eeaddb6a70
MD5 7eb2a5d4b2671eb69d7629ff4f57c6af
BLAKE2b-256 63da3b663c47464b87fe66b4dc5cd78a782b474426da929b9aee5b405e91bcf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gwsim_pop-0.0.3-py3-none-any.whl:

Publisher: create_tag.yml on Leuven-Gravity-Institute/gwsim_pop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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