# The CFELPyUtils Library
## Introduction
CFELPyUtils is a utility library written in Python and developed at the Center For Free Electron Laser Science (CFEL) in Hamburg. It contains several functions and classes that perform various tasks related to the processing of x-ray imaging data. It is used by several internal and released CFEL software projects.
### Features
Read and apply geometry information to x-ray detector data
peak finding algorithm (new in v2.0)
calibration tool for the AGIPD 1M detector (new in v2.0)
module for reading [CrystFEL](https://www.desy.de/~twhite/crystfel/) streams (new in v2.0)
Please see the [migration guide](#migration-guide) below before upgrading from CFELPyUtils 0.x or 1.x.
## Installation
The CFELPyUtils library is available on the [Python Package Index](https://pypi.org/) (PyPI). It can be installed using the ‘pip’ command:
pip install cfelpyutils
For Python 2, please use the 1.0 version.
pip install cfelpyutils==1.0.1
The library can also be installed manually by checking out this repository and running:
python setup.py install
### Migration Guide
The following table lists functions for which the module affiliation has changes in v2.0. Please replace all old occurances with the new ones.
Please note that geometry.load_crystfel_geometry() now returns a namedtuple of geometry.CrystFELGeometry. Previously it returned only a geometry.TypeDetector. This is not the first element of the tuple.
If your code did this before
`python from cfelpyutils.crystfel_utils import load_crystfel_geometry geometry = load_crystfel_geometry(path_to_geometry_file) `
it needs to be changed to something like
`python from cfelpyutils.geometry import load_crystfel_geometry geometry_tuple = load_crystfel_geometry(path_to_geometry_file) geometry = geometry_tuple.detector ` or `python from cfelpyutils.geometry import load_crystfel_geometry geometry_tuple = cfelpyutils.geometry.load_crystfel_geometry(path_to_geometry_file) geometry = geometry_tuple[0] `
## Contributors
The CFELPyUtils library is currently developed in the lab of [Henry Chapman](https://cid.cfel.de/) at the Center For Free Electron Laser Science in Hamburg.
Many people from different institutions worlwide contribute code, testing and support to the project:
Valerio Mariani
Anton Barty
Andrew Morgan
Thomas A. White
Thomas Kluyver
Philipp Middendorf
Luca Gelisio
Florian Lauck
If you have any questions or want to contribute, please [contact us](mailto:sc@cfel.de).
## Documentation
Documentation for the CFELPyUtils is available on [GitLab at DESY](https://cfel-sc-public.pages.desy.de/cfelpyutils/) and in the [docs/](docs) of the [repository](https://gitlab.desy.de/cfel-sc-public/cfelpyutils).
## Source Code
The source code of the CFELPyUtils library can be found on the DESY GitLab instance: https://gitlab.desy.de/cfel-sc-public/cfelpyutils
Metadata
Release files for cfelpyutils 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| cfelpyutils-2.2.0-cp312-cp312-manylinux_2_24_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.24+ x86-64 | Details for cfelpyutils-2.2.0-cp312-cp312-manylinux_2_24_x86_64.whl |
| cfelpyutils-2.2.0-cp311-cp311-manylinux_2_24_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.24+ x86-64 | Details for cfelpyutils-2.2.0-cp311-cp311-manylinux_2_24_x86_64.whl |
| cfelpyutils-2.2.0-cp310-cp310-manylinux_2_24_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.24+ x86-64 | Details for cfelpyutils-2.2.0-cp310-cp310-manylinux_2_24_x86_64.whl |
| cfelpyutils-2.2.0-cp39-cp39-manylinux_2_24_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.24+ x86-64 | Details for cfelpyutils-2.2.0-cp39-cp39-manylinux_2_24_x86_64.whl |
Total release size: 2.4 MB
Release files / cfelpyutils-2.2.0-cp312-cp312-manylinux_2_24_x86_64.whl
| Download URL | cfelpyutils-2.2.0-cp312-cp312-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 593.9 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
e5773d74632e53ce28f73fc33e34f183ec0fdd5d344276e66059924073932a9a
|
|
BLAKE2b-256 checksum How to use checksums |
c50bcd85b7b487e33ac90227d6f5b271cb2451447a62bd660c2dc4604af4173b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / cfelpyutils-2.2.0-cp311-cp311-manylinux_2_24_x86_64.whl
| Download URL | cfelpyutils-2.2.0-cp311-cp311-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 604.3 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
b12845f5e011ffbbe00e9e4e412d211309b910c35253781b403ee885791fa8ad
|
|
BLAKE2b-256 checksum How to use checksums |
07442c3ca416851a546be3a2645f21f23a8457d927c7c72b469cdb49db0ebf36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / cfelpyutils-2.2.0-cp310-cp310-manylinux_2_24_x86_64.whl
| Download URL | cfelpyutils-2.2.0-cp310-cp310-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 575.3 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
97fc2927c34cb9c7f1266fb49bb07782d9585f61f3e16d4ad5e77c2e4783059e
|
|
BLAKE2b-256 checksum How to use checksums |
4350aeda74cc263dab7aa51d72a1e7fbe656bcfa677257d01cc9d9e007a8a81c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / cfelpyutils-2.2.0-cp39-cp39-manylinux_2_24_x86_64.whl
| Download URL | cfelpyutils-2.2.0-cp39-cp39-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 576.8 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
b94756e08d89090f5fdd8e3bacccd22a1e1b237b19f04ebba562e6515bd9b1e9
|
|
BLAKE2b-256 checksum How to use checksums |
432347e6cc4768cb647966489ace9e83afc1af94a437f0b976f9ba60e30d4034
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Security for cfelpyutils 2.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.