Skip to main content

Python Bindings for the SWGO Waveform Library

This are the Python bindings for the SWGO Waveform Library. The bindings can be installed from PyPI:

pip install swgo-wave

If your operating system is not supported, you can install them manually:

git clone --recursive git@gitlab.com:swgo-collaboration/simulation/swgo-waveform-python-bindings.git
cd swgo-waveform-python-bindings
python -m pip install .

FlashCam Simulation

To simulate the FlashCam electronics, use:

import libwaveform as wf

fc = wf.make_flashcam()
triggers = fc.simulate([...],1)

for t in triggers:
    # t.channel - int
    # t.trigger_time_s - int (seconds since run start)
    # t.trigger_time_ticks - int (ticks since last full second, tick = 4ns)
    # t.baseline - float (ADC baseline)
    # t.intsum - float (sum of waveform)
    # t.waveform - list* of int

make_flashcam() creates a FlashCam object with the FlashCam default settings. You can directly create FlashCam instances by invoking its constructor wf.FlashCam(). Use help(wf.FlashCam) for the documentation of the constructor parameters.

The trigger and waveform objects are native C++ objects. The waveform objects support the python list interface for integers.

MultiPMT Simulation

The MultiPMT electronics (which is not fully supported yet) can be simulated with:

import libwaveform as wf

mp = wf.make_multipmt()
triggers = mp.simulate([...],1)

for t in triggers:
    # t.channel - int
    # t.time - float (trigger time in seconds)
    # t.time_over_threshold - float (in seconds)
    # t.adc_sample - float (in LSB)

make_multipmt() creates a MultiPMT object with the MultiPMT default settings. You can directly create MultiPMT instances by invoking its constructor wf.MultiPMT(). Use help(wf.MultiPMT) for the documentation of the constructor parameters.

Electronics Interface

The bindings provide access to the Electronics interface:

import libwaveform as wf

electronics = wf.Electronics("settings.yaml")
triggers = electronics.simulate([...])

The input is a list of (int, PE) tuples.

Settings can be generated with python -m libwaveform.generate_settings (use --help for documentation). You might need to change the path to the channel map (channel_maps.main_map.config). All other files can be generated with the --files option.

Metadata

Release files for swgo-wave 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for swgo-wave 0.4.1
File Actions
swgo_wave-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp314-cp314-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl
swgo_wave-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for swgo_wave-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl
swgo_wave-0.4.1-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details for swgo_wave-0.4.1-cp39-cp39-manylinux_2_28_x86_64.whl

Total release size: 20.1 MB

Release files / swgo_wave-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
eb592b57273515e874222e0d3aec8e5a5b54741f1abf99b3e70884def2020d6f
BLAKE2b-256 checksum
How to use checksums
bc37b4669178861b6aa16e50441a427d6c8d92485ff717d4e958a879d95ecdba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 994.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6f98d99828bebafd0d348551a180995f35643aec2f16f5c13898c80dec5c0dfb
BLAKE2b-256 checksum
How to use checksums
9e41ecc8ea222e03d85041c1dbad6642c611487a9978dccff9441ee523c8e5ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
25b58ad7002fbadfaa9b526977884b1bcf37ef538d090233a6a487487bb29683
BLAKE2b-256 checksum
How to use checksums
1cc423ecf1c01b8f05468debce1c33ec28a1add9ca3a948c1ad9a99176d97e96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 991.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
643772d008e1ba03257b6e0d3db7b220224801414cb53fe1202c3ba2802428e8
BLAKE2b-256 checksum
How to use checksums
baa3e831df76f60fdec5d81b3308cbfeb5098026355267f2a0ac7b0db3480780
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5c683462d060d4c692daccf255a4eec8c71e1c8ee360d74af560d62157599763
BLAKE2b-256 checksum
How to use checksums
a76e77c51892390e47bf51c71c9bdab994391f5e70f0de6db59a53e7e7392922
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 989.6 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2d98a572366d1aa9fe0291112299b74a1ea8cb64c6a6ee56759fb83035948fdd
BLAKE2b-256 checksum
How to use checksums
0777e4b968d86436a1a2068d83f36f9b338122ab470045add460988d5f636f00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c4b753614ea3b0e4c9eb05963467c724188be280f5d33b289b9d44cdc0546797
BLAKE2b-256 checksum
How to use checksums
d8de09b042f362ed7cc52d034f32dbceb5a181b8b7fea5396f557716141381cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 989.4 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7c53bf00e6ce955895aad934389e32c0c04abcb91f2f082b11a383b7cdee8462
BLAKE2b-256 checksum
How to use checksums
d88e05b1dcb0a6f99b518acab22588489e2b4bb71d01e209edc8eaca673f1a94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e3de17a35348a6d2167a667d884aaa0c62940c973f0bba389a90bc31cd637c04
BLAKE2b-256 checksum
How to use checksums
d449557cb4a2ce7bace4e1d829be34340affda90ae050384febcbc466706fe1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 979.9 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dd6564687368c36bc3450eba21703cd933a0a06079f575841c3944c7cae315ed
BLAKE2b-256 checksum
How to use checksums
285f7a4583315125d4391e8c0c12ae90e80c5f19912efc5f304d14600e5b9b90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c527f102479f831546b8426dd291a5c67c6eb099dc0a13a54f065b2057b3e1e4
BLAKE2b-256 checksum
How to use checksums
43c9f4eac2ec23da4d11ebd9015af11a41f9265009b441d4ae434ae06171954c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 979.4 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9391a405785b82c45b9dec8ac976a9f119854111da29eeeb1d69392f32f9e8c8
BLAKE2b-256 checksum
How to use checksums
652a97f06465d18c5193edb4e520e311af035d2b950264d839fe89bfb228729b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL swgo_wave-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a54621ab434749c72b00c629b863d490661ab3e8199d346ef889c16141c1f340
BLAKE2b-256 checksum
How to use checksums
b1c0555b5562be57c813dcc5322ce501cba2ccb48b6175f49e4a3c355ff2d216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / swgo_wave-0.4.1-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL swgo_wave-0.4.1-cp39-cp39-manylinux_2_28_x86_64.whl
Size 979.1 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fdf2b062d15c3d7929b2ede422da71c965c2a2a810b0711db4f0cc403df7ea2f
BLAKE2b-256 checksum
How to use checksums
1d8933fc143715a4ebff71c82ced04b24be2a839f6eb60462c6be8530d027f11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for swgo-wave 0.4.1

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page