Skip to main content

Analytics DSL for Python

Project description

PyDough

PyDough is an alternative DSL that can be used to solve analytical problems by phrasing questions in terms of a logical document model instead of translating to relational SQL logic.

Learning About PyDough

Refer to these documents to learn how to use PyDough:

Developing PyDough

PyDough uses uv as a package manager. Please refer to their docs for installation. To run testing commands after installing uv, run the following command:

uv run pytest <pytest_arguments>

If you want to skip tests that execute runtime results because they are slower, make sure to include -m "not slow" in the pytest arguments.

Note: That some tests may require an additional setup to run successfully. Please refer to the TPC-H demo directory for more information on how to setup a default database for testing.

Running CI Tests

To run our CI tests on your PR, you must include the flag [run CI] in latest commit message.

Runtime Dependencies

PyDough requires having the following Python modules installed to use the library:

  • pytz, pandas, sqlglot

The full list of dependencies can be found in the pyproject.toml file.

Demo Notebooks

The demo folder contains a series of example Jupyter Notebooks that can be used to understand PyDough's capabilities. We recommend any new user start with the demo readme and then walk through the example Juypter notebooks.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pydough-1.0.0-py3-none-any.whl (243.9 kB view details)

Uploaded Python 3

File details

Details for the file pydough-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pydough-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 243.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pydough-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad6089874b6e0bb6ca078f691a5faf6a7a64711e49a077e5907fc2eef0569861
MD5 c243786458356c7bb9484a15b9d724fd
BLAKE2b-256 efd127ecb44426029870d4e6738bcb59f5cc5fcec54066bcd1ec8aba93b88dd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydough-1.0.0-py3-none-any.whl:

Publisher: build_pip.yml on bodo-ai/PyDough

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