Dioptrin
Dioptrin provides fast 1D and 2D diffraction integration using a compiled Rust engine. It supports pixel splitting, supersampling, detector corrections, Poisson uncertainties, azimuthal intensity spread, and batch integration.
Installation
python -m pip install dioptrin
Dioptrin is distributed as binary wheels for standard CPython 3.11–3.15 on Windows x86-64, macOS Intel and Apple silicon, and Linux x86-64 and ARM64. Free-threaded Python is not supported. If no compatible wheel is available, installation from the source distribution requires a Rust toolchain. The source is available on GitHub.
License
Dioptrin is open-source software under the MIT license. Starting with 0.7.0, both source builds and pre-built wheels work without activation, license keys, or expiration checks. Upgrade older installations:
python -m pip install --upgrade dioptrin
Use with Dioptas
Install Dioptrin in the same Python environment as Dioptas and restart Dioptas. The Use Dioptrin checkbox becomes available in its integration options. Dioptas continues to work with pyFAI without Dioptrin.
Integration arithmetic
Fast CSR accumulation is enabled by default starting in 0.6.0
(fast_math=True). It uses four partial float64 sums and hardware fused
multiply-add where available. Set fast_math=False in Integrator or
Integrator.from_poni_dict to select strict accumulation. The two modes may
differ in floating-point rounding. Geometry, float64 pixel weights and correction
formulas are unchanged. Histogram and azimuthal-spread algorithms keep their
existing behavior.
File-batch workers
Starting in 0.6.1, file batches reuse typed TIFF decoding buffers and retain their
workers between calls. Standard 1D/2D CSR file tasks convert individual pixel
values to float64 inside the existing arithmetic. Integrator.clear_file_workers()
releases cached workers and buffers; already admitted streams finish normally.
Changing the worker/thread configuration replaces the pool. Cached workers retain
one decoded image buffer each until cleared or the integrator is released.
Shared dynamic-mask plans (0.9.0)
For application-level frame parallelism, prepare one immutable plan and create a lightweight worker for each application worker:
plan = integrator.prepare_dynamic1d(image_shape, 2000)
worker = plan.worker(num_threads=1)
result = worker.integrate1d(image_float64, mask_uint8, errors=True)
All workers share the plan's geometry, float64 CSR/CSC tables and correction arrays. Each call has its own mask, normalization sums and accumulation results. The complete effective mask must be passed for each frame; the source integrator's stored mask is excluded. Images and masks must be C-contiguous and remain unchanged until the call returns. Numerical work releases the GIL and borrows those arrays without copying. Changes to the source integrator leave existing plans unchanged; prepare a new plan when scientific settings change.
Dioptrin owns the scientific plan and kernels. Applications retain responsibility for reading files, preparing images, mask plugins, frame ordering and cancellation. Use one compute thread per worker when frames are already processed in parallel.
Fast 1D sparse layout
Starting in 0.9.0, fast 1D integration defaults to CSC for both mask policies.
Fixed masks cache their active pixels and bin normalization; dynamic masks
recompute normalization per frame using the same geometry-only coefficients.
Choose sparse_layout="csr" in either Integrator constructor, or use
integrator.set_sparse_layout("csr"), to request CSR. All weights and sums remain
float64. Fast accumulation can change rounding. Strict arithmetic, azimuthal
spread and 2D preserve their existing compatible paths. Mode/layout switches
retain valid tables; mask/correction/geometry edits invalidate dependent caches.
Metadata
Release files for dioptrin 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dioptrin-0.9.0.tar.gz | 6.7 MB | Without provenance | Details for dioptrin-0.9.0.tar.gz |
Built distributions (wheels)
Total release size: 36.3 MB
Release files / dioptrin-0.9.0.tar.gz
| Download URL | dioptrin-0.9.0.tar.gz |
|---|---|
| Size | 6.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15c65cbee9dca7d3de2495d613240c8079511e257548c306e2ca90b76d117504
|
|
BLAKE2b-256 checksum How to use checksums |
5b4186249a066ebd5fdd62ff3718d448f3ab7186958965c79781efb60383372f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp315-cp315-win_amd64.whl
| Download URL | dioptrin-0.9.0-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
26dca0b579060301db4adbf580018dfe0fc8306dd92ba481d4078e4ba40c77d6
|
|
BLAKE2b-256 checksum How to use checksums |
9a7d94c6841037287b99f763caa6e60e2f6f60be22387deb465098123a139853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp315-cp315-manylinux_2_28_x86_64.whl
| Download URL | dioptrin-0.9.0-cp315-cp315-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.15 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c8510074d4254fe9ce2108b82de783e9a952a5366c76fec446d5ffd3b1537a27
|
|
BLAKE2b-256 checksum How to use checksums |
c1efae71348c0dc50a516a2f9198dde1e30e2a6af1001810b0e087154a2289e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp315-cp315-manylinux_2_28_aarch64.whl
| Download URL | dioptrin-0.9.0-cp315-cp315-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.15 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d2ddb81814bcdb5af7bdedcf6bcc6d75319b563f54d313c61da0664a981a239d
|
|
BLAKE2b-256 checksum How to use checksums |
7d3d6b1294114be370d1d091b01d85a37cfeef03f38d99b7c62cc2323245775f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp315-cp315-macosx_11_0_arm64.whl
| Download URL | dioptrin-0.9.0-cp315-cp315-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.15 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
82a70612e774b9e16af5bec39ced22485482c0221163f633477f73b22f76e1f6
|
|
BLAKE2b-256 checksum How to use checksums |
150da6334684e85536b6ea7dbe747041d3a6e0c9dd298d2ba30becdae8d84a20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp315-cp315-macosx_10_12_x86_64.whl
| Download URL | dioptrin-0.9.0-cp315-cp315-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.15 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7e288a4efb0cd08854931a4188ff6940628eff63a165358c6272867f5e404688
|
|
BLAKE2b-256 checksum How to use checksums |
3c1e69b4acbc558803df0482b0c5ad2b87a5755be1199d75cc08ac770b7de682
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp314-cp314-win_amd64.whl
| Download URL | dioptrin-0.9.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b8107fa049ecaf5e75ac0cbb2377d2005cac2dd998bc123a5827d7d284f575f2
|
|
BLAKE2b-256 checksum How to use checksums |
1d6225cb395988ef8f1a667b1fb0c5a7ee4358270cc8ecbe9c27d9231228a5de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | dioptrin-0.9.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
339c6fa0d73893dfc449f5520d17e9206dfd3a9421042d3d8d74f464e7449d69
|
|
BLAKE2b-256 checksum How to use checksums |
f6622995d23100089a6a0a870acf648f1a0de466706da83069a2044f7d887676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | dioptrin-0.9.0-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a6175e7db09a5d1e9dd409073e9e313cf1472d56fe922ac7f2590c05b17fe853
|
|
BLAKE2b-256 checksum How to use checksums |
a3f9d13d1fce7e9c997f7c85428eba9353ca6ad62845d0ad85943db2efa29336
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | dioptrin-0.9.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
38f1ed02f6e1e29ef21b1834d78255060c7a68bbaca0a7155097006fd25ae3da
|
|
BLAKE2b-256 checksum How to use checksums |
b659325a6cdaf9edb0153f0dfe705e36ed3db589b7be3d3ae764fa187c7be9e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | dioptrin-0.9.0-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
61dd8e4db6074582834742f75d0263cd4293eb9aa6c5fec28100a90bf5d3c301
|
|
BLAKE2b-256 checksum How to use checksums |
796d9febe69ebbcab05cbebade128c88f89fbe1667c8651751d88689c97d459b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp313-cp313-win_amd64.whl
| Download URL | dioptrin-0.9.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
204932c515f963617e17302e88cfc2dbdb54d86cf5737f4d95ae27b540c947fc
|
|
BLAKE2b-256 checksum How to use checksums |
02bb155c6076a3f94d3bbe768296e67231c8e2508bdd82e1b5649c63d87461c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | dioptrin-0.9.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
61717e8de57392e7e06dbeb97721e56c3c60c384a64c91557f73f600d35d9b6e
|
|
BLAKE2b-256 checksum How to use checksums |
d788e6163ccce93f41fd71e5b32f67d09c09c75023d0bbaf5245ef77317ad797
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | dioptrin-0.9.0-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
66395665b04a7d464d38eabcdcbb0912dc3e47caca43803ab54ae748cd325b63
|
|
BLAKE2b-256 checksum How to use checksums |
ee316beceb18b6c1757d805fe8d012b856555d1ca15d8d810d9b410d4d0e6e05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | dioptrin-0.9.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6d210dc15b7dd4a823f4ffb689d66d2b4225d169dd45913e608f39889758c5b7
|
|
BLAKE2b-256 checksum How to use checksums |
5660d792e9d39cf8a3a572aedeb60ad2cdec84e6f7982da03c125983332cd4a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | dioptrin-0.9.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
019840d6acdb6b398bef30d3d98096c086851a9371355559cb2c6fdfe4a1309e
|
|
BLAKE2b-256 checksum How to use checksums |
3882df7cb03ff15e6ecdffa8260ddae6e85b13330496ccc7bba7965c2cf07e82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp312-cp312-win_amd64.whl
| Download URL | dioptrin-0.9.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
133ce97a55ccdd3177acbf0723c8d6562a7ce14d2af378dbf21897c8aceaa84a
|
|
BLAKE2b-256 checksum How to use checksums |
59a1a9197af51d24c2dc245e7be76ff3f6d27a99707a0af24a9f9b8822c7ea3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | dioptrin-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f4c1b144409592742bb812ee919a94efc565aca6b002edbbadbfc881fc18a05
|
|
BLAKE2b-256 checksum How to use checksums |
316840e09aa024e4e7acdc1f15cc776a01b817304972fce67bed9901ee12d4a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | dioptrin-0.9.0-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b653a6f14d261a5bb6357342e760bcfb0f121c5c0313b17d9c9cca1407c71dc5
|
|
BLAKE2b-256 checksum How to use checksums |
4182d7f5d12342e643b56480e605bcc4556edaed5c46bb43e54fca60c939631d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | dioptrin-0.9.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0d31cf2a67c5f8f24bfa69f098d4d32c4bb6df3968f63f2d96074fc8f32669d4
|
|
BLAKE2b-256 checksum How to use checksums |
b752ac859ac88118ddd49ed943f0479c30911e12b8f95edc1910312ba95ead1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | dioptrin-0.9.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
f6bde93af1060d7c3c697632237a224f7a57b4ab07f9cf94be5bdaf65d0c143d
|
|
BLAKE2b-256 checksum How to use checksums |
da838935f400160095a59914bad863e3679e849f47399707a95da207bad6aa43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp311-cp311-win_amd64.whl
| Download URL | dioptrin-0.9.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
be184383301795508988ce9fa4c519f3e1e2ed93a59111ec2f4b9890c287ca5a
|
|
BLAKE2b-256 checksum How to use checksums |
dd63b34c301742491f8ad341f9b02c6844850963df69e0c4d5d2ebf0ce13291a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | dioptrin-0.9.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1abad2841d6b065269ebc78b3fc7bc9ccf79b29d84798971c8307992f1247c5e
|
|
BLAKE2b-256 checksum How to use checksums |
c5d695bb0b2a17fd958a29924cd317cd338fc96d750623d3c50c18809841bb54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | dioptrin-0.9.0-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
841988a9150cca5b32d7046a48bd18c0029ee28df5df0c16d4e741ee0958bebc
|
|
BLAKE2b-256 checksum How to use checksums |
357e3b057e6d4c77f6feef7b68144ec4bc757a94334c617c15ef4eca3276b9a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | dioptrin-0.9.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4e395212a696a9d1f907d30d9665ff8373ccc82c6c0794f48f24aa80be09b121
|
|
BLAKE2b-256 checksum How to use checksums |
80d805fdeadb8bee1061c3e072794f6ea47a1d8e59c815713b75fc2dde675415
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dioptrin-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | dioptrin-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
08e724014cc6bb2365d9ba6fef7fef1a74363fbf3162ba8f3714f3b72e7ee74e
|
|
BLAKE2b-256 checksum How to use checksums |
d05aa446dc96a7003ea6a36e20cbeac33e258fc75edd284cb54b0df7694f66d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for dioptrin 0.9.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.