Object partitioning package.
Project description
Object Partitioning
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
uvtool 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
--helpto 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
-noption to specify how many files in the dataset to run over. By default 1, specify0to 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/my-feature) - Open a pull request
License
This project is licensed under the terms of the MIT license. See LICENSE.txt for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_object_partitioning-1.0.0.tar.gz.
File metadata
- Download URL: atlas_object_partitioning-1.0.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27216108b42eb484e7a43e3f46dee457c53e34f012079eb46fa5fa795f1d4365
|
|
| MD5 |
00b7146d2de28f71aaf95b12132b7ab3
|
|
| BLAKE2b-256 |
38307a8805148e0181a7285ea24a09e1d08c9b98c992b7cd2afe225bedf561b3
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_object_partitioning-1.0.0.tar.gz -
Subject digest:
27216108b42eb484e7a43e3f46dee457c53e34f012079eb46fa5fa795f1d4365 - Sigstore transparency entry: 272810609
- Sigstore integration time:
-
Permalink:
gordonwatts/object-partitioning@e0a92c097d8104a9e5f801120f014439ffcec0ef -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/gordonwatts
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@e0a92c097d8104a9e5f801120f014439ffcec0ef -
Trigger Event:
push
-
Statement type:
File details
Details for the file atlas_object_partitioning-1.0.0-py3-none-any.whl.
File metadata
- Download URL: atlas_object_partitioning-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b822ec2ba40eeb45b799e41bb06d0ae6cb39437150ed83eeed26b38ebe0f0b78
|
|
| MD5 |
a29cd749bdbcf78e5476d5192340c300
|
|
| BLAKE2b-256 |
876516859277b0d63e180414ed78e58c3349add8675f5c6b7f7e67e8c7fc836f
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_object_partitioning-1.0.0-py3-none-any.whl -
Subject digest:
b822ec2ba40eeb45b799e41bb06d0ae6cb39437150ed83eeed26b38ebe0f0b78 - Sigstore transparency entry: 272810610
- Sigstore integration time:
-
Permalink:
gordonwatts/object-partitioning@e0a92c097d8104a9e5f801120f014439ffcec0ef -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/gordonwatts
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@e0a92c097d8104a9e5f801120f014439ffcec0ef -
Trigger Event:
push
-
Statement type: