Skip to main content

Object partitioning package.

Project description

Object Partitioning

PyPI version Build Status

A Python package to help understand partitioning by objects. Works only on ATLAS xAOD format files (PHYS, PHYSLITE, etc.).

Writes a parquet file with per-event data.

Installation

Install via pip:

pip install atlas-object-partitioning

Install via uv:

  • If you don't have the uv tool installed, it is highly recommended as a way to quickly install local versions of the code without having to build custom environments, etc.

Install locally so always available:

uv tool install atlas-object-partitioning
atlas-object-partitioning --help

Update it to the most recent version with uv tool upgrade atlas-object-partitioning.

Or running it in an ephemeral environment:

uvx atlas-object-partitioning --help

Or install from source:

git clone https://github.com/yourusername/atlas-object-partitioning.git
cd atlas-object-partitioning
pip install .

Usage

You'll need a servicex.yaml file with a valid token to use the ServiceX backend. See here to help you get started.

From the command line.

  • Use --help to see all options
  • Specify a rucio dataset, for example, tlas-object-partitioning mc23_13p6TeV:mc23_13p6TeV.601237.PhPy8EG_A14_ttbar_hdamp258p75_allhad.deriv.DAOD_PHYSLITE.e8514_s4369_r16083_p6697
  • Use the -n option to specify how many files in the dataset to run over. By default 1, specify 0 to run on everything. Some datasets are quite large. Feel free to start the transform, then re-run the same command to have it pick up where it left off. See the dashboard to monitor status.

If you wish, you can also use it as a library:

from atlas_object_partitioning.partition import partition_objects
from atlas_object_partitioning.scan_ds import scan_dataset

# Example: Partition a list of objects
data = [...]  # your data here
partitions = partition_objects(data, num_partitions=4)

# Scan a dataset
results = scan_dataset('object_counts.parquet')

Contributing

Contributions are welcome! Please open issues or pull requests on GitHub.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a pull request

License

This project is licensed under the terms of the MIT license. See LICENSE.txt 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

atlas_object_partitioning-1.0.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

atlas_object_partitioning-1.0.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file atlas_object_partitioning-1.0.0.tar.gz.

File metadata

File hashes

Hashes for atlas_object_partitioning-1.0.0.tar.gz
Algorithm Hash digest
SHA256 27216108b42eb484e7a43e3f46dee457c53e34f012079eb46fa5fa795f1d4365
MD5 00b7146d2de28f71aaf95b12132b7ab3
BLAKE2b-256 38307a8805148e0181a7285ea24a09e1d08c9b98c992b7cd2afe225bedf561b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_object_partitioning-1.0.0.tar.gz:

Publisher: publish-to-pypi.yml on gordonwatts/object-partitioning

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

File details

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

File metadata

File hashes

Hashes for atlas_object_partitioning-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b822ec2ba40eeb45b799e41bb06d0ae6cb39437150ed83eeed26b38ebe0f0b78
MD5 a29cd749bdbcf78e5476d5192340c300
BLAKE2b-256 876516859277b0d63e180414ed78e58c3349add8675f5c6b7f7e67e8c7fc836f

See more details on using hashes here.

Provenance

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

Publisher: publish-to-pypi.yml on gordonwatts/object-partitioning

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