Skip to main content

No project description provided

Project description

aqua-tracekit

Lightweight toolkit for basic analysis of aquaculture data in Jupyter notebooks, built around the SalmoDuck traceability model.

Source, examples & discussions: github.com/EivindBrendryen/aqua-tracekit


aqua-tracekit cuts through the complexity of fish movement across containers (cages, tanks, wellboats, etc.) when performing numerical analysis.

The goal is to provide a practical tool as well as contributing to a conceptual baseline for modelling traceability data within aquaculture production.

Some problems are out of scope for this package, but if you have ideas or a relevant problem that you would like to see solved, feel free to start a discussion here and it might just be included in the next version :)

Installation

pip install aqua-tracekit

To run the example notebooks locally:

pip install aqua-tracekit[examples]

Quick Example

from aqua_tracekit import SdtModel, SdtSchema
from IPython.display import HTML

model = SdtModel(base_path="path/to/data")
# load the core model
model.load_containers("containers.csv")
model.load_segments("segments.csv")
model.load_transfers("transfers.csv")

# Visualize the movement of fish across containers
HTML(model.visualize_trace())

Features

The SalmoDuck traceability model is a core data model containing enough structure (but as little as possible) to capture traceability as fish is moved, split or mixed across containers of any kind.

The model's core entities are:

  • Fishgroup segments — a group of fish in a container over a time period
  • Containers — cages, tanks, wellboats, waiting cages, etc.
  • Transfers — splits, mixes, and moves between segments
  • Timeseries — sensor readings, events (vaccination, stocking, harvest), linked to containers or segments

Dimensional data can be freely attached to these entities, and they will follow the data frames through the processing, ready to be used in the analysis once data is traced according to the requirements of the use-case. Examples:

  • containers: container_name, site_id
  • segments: fish_group_name, global_gap_number, species, generation
  • transfers: type_of_transfer, transfer_operation_id

Adding refences (id's) is the preferred way to relate to larger structures. This increases performance.

Fact data is modelled as timeseries data (even if the fact is just a single record, like a vaccination). All operations on facts is done using the time series support in the toolkit.

Timeseries comes in 2 flavours; referencing containers or segments. Typically some data stems from production control systems and is already referencing the segments. Data from other systems is typically referencing the containers.

Key to the analysis is deciding on a tracing principle and selecting the origin of the traces. A traceability index is then computed, forming the basis for further analysis and aggregations.

The model includes a built-in interactive visualization of fish movement.

Most things here apply to both roe/egg and fish, but for simplicity we use the term fish about the product. The toolkit should be valuable for the whole value chain, at any resolution.

A typical use case:

  • load core data (segments, transfers, containers)
  • attach dimensions if needed
  • load timeseries data (referencing either containers or segments)
  • decide on a tracing principle
  • decide on the trace origin
  • generate the trace(s)
  • output the timeseries for the trace(s)

The process lends itself to easy data processing, filtering, aggregations and more through the use of Polars data frames. Conversion to Pandas is as easy as .to_pandas()

Examples

See examples/README.md for the canonical learning path, local run instructions, and notebook links.

Documentation

License

MIT — see LICENSE for details.

Author

Eivind Brendryen

Questions?

  • Bug reports and feature requests: Issues
  • General discussion and advanced topics: Discussions

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

aqua_tracekit-0.2.0.tar.gz (119.0 kB view details)

Uploaded Source

Built Distributions

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

aqua_tracekit-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

aqua_tracekit-0.2.0-cp314-cp314-win_amd64.whl (20.6 MB view details)

Uploaded CPython 3.14Windows x86-64

aqua_tracekit-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

aqua_tracekit-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (20.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aqua_tracekit-0.2.0-cp313-cp313-win_amd64.whl (20.6 MB view details)

Uploaded CPython 3.13Windows x86-64

aqua_tracekit-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

aqua_tracekit-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (20.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aqua_tracekit-0.2.0-cp312-cp312-win_amd64.whl (20.6 MB view details)

Uploaded CPython 3.12Windows x86-64

aqua_tracekit-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

aqua_tracekit-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (20.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aqua_tracekit-0.2.0-cp311-cp311-win_amd64.whl (20.6 MB view details)

Uploaded CPython 3.11Windows x86-64

aqua_tracekit-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

aqua_tracekit-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (20.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aqua_tracekit-0.2.0-cp310-cp310-win_amd64.whl (20.6 MB view details)

Uploaded CPython 3.10Windows x86-64

aqua_tracekit-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file aqua_tracekit-0.2.0.tar.gz.

File metadata

  • Download URL: aqua_tracekit-0.2.0.tar.gz
  • Upload date:
  • Size: 119.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aqua_tracekit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2019643ea3ba887ad488b80d55f59bcf922a1c752a66272aaaeb428eec3855db
MD5 84a5b202d3d455d78b4a17435b378f00
BLAKE2b-256 45626aa0cb52e6a86275e1ee6a69c5335f3033ef5ec6196b7ef57b8ee7eeedc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0.tar.gz:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fdc6e24701dc9374503a7a8a7682c1454769935c7ba1e23e69a3f7bd98ccc1d
MD5 15a1aedbd3b08f2d26c499de241f6618
BLAKE2b-256 30d7dc131d052a2210fd10fd2fbe99c49458fc6840c71f5535fdd095b37fa3f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9515ed5e2d9c9ccaa6c4fe9f01d98d85f79d3388e88af8a457601bff5d17b1f2
MD5 fa38a6619dbd5e35946b3bb23fccc88f
BLAKE2b-256 12cd8e3ecb70dbb7828534f79a0e2380b39aaf2e95b33994ce97bbad12bb5759

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c12720aab277cd08640ad7057ce6c546800a22726a5a652b6636d3d8ca306b16
MD5 3592e1653f975512c7e7609cec0ad2e8
BLAKE2b-256 6caac56948e585faa56b2f8f62c175f2163d18d9a2088eadea622ca563c38558

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff44d89da1f9f430b6395893ba7a1473f974f1d97d2c20b96addbd0750a450c5
MD5 d3c6d51ffc9cab8677255bb219fee5c4
BLAKE2b-256 7a576748f05321d0e252d438ea42b31585acfcc6bbf5517319ba960385fbbc33

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 27a731b1018ed830af650d370107cec832c46686410b965d9ef2e9e08a89a997
MD5 981b603cfd7056e2fea4f1c807661863
BLAKE2b-256 f5ee4c65823ba5ea163f2c96225709a62e2a5f6d5d806f1a40c07e1264696911

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb1151decb8acd57e8414cae1c96aa00adf0ad7000335e6b2b45522309381714
MD5 587ceb684817d930519eaacaf14afb3d
BLAKE2b-256 ee5b20b22ef90c584c946d4bc2d4ed22d115bc1c7edf42187e639d00d0cf7733

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36ea041c1a1673b438402df1248c50640136ddd03bc17edef03d801a92cb6fe8
MD5 34468821db232bd0c73932dc8eb9a44a
BLAKE2b-256 55cfc465be30aa0e07b692e5b9f54fc47ce7174b5a4d4b2faf213265a087d200

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c3e6992ab4d16e5d94c8b4d1b463a9b6d24e053834b2d7703b67f14949377043
MD5 b4f28f89e727a625605f595eab5b00a7
BLAKE2b-256 94befb18e459ae405bb372d2c3b3ce3ec1c0b3818d794858db93370324984191

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 165567f3df3e294d56a28259f323417e865573d365fe2e0c9bbb0adbef520b2b
MD5 28d04a06701acdf6e499db78d0386513
BLAKE2b-256 aa813ee037188ec71c9e17376acbfddac099db4854dbc4ef3c9955a31561fb41

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4cf2316e0e7b5e4c3d272394bf6a41050fc16c626a4c078e18702d549851358f
MD5 ff4326722d6b91ea74c34629038866f0
BLAKE2b-256 36c7477d537c8d45967923bce71a89d12b4c08214db0ebb02b38c58636fd2459

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 072c5addfa454ba56c740ddb9624cf5beba4c2e6c5f9a90be7dc37e249e0eb2a
MD5 d08d04f74b2e5df5e2b897e02ccf61d2
BLAKE2b-256 06220f088028ae2e6c0df76fbda3a7a7f864838dd25b8264dd439db1fa334774

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1b911bff2a3822f4a7c51ded1fa5c11f4007456cc96d0e3bf73344b624554cc
MD5 7a45b23d10c465aee7ccd80223c76fb5
BLAKE2b-256 4a4baf2861b01cb65f6ca4cb7de4e34f46dce0b27dca5b62863fab64a4c25997

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f18559d3e29f4dcbc37bd8e42f0ce95c2d16af2d48042d0b1b70548bab5cedc
MD5 97ba8f8cafe605b4a457659e3b80013b
BLAKE2b-256 777aaa43d4a19308e79875fbeb8456906497cf7bed2070fa165db0d5d90e2d5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 33825934abfe3d0ad7aa801e6b85e658d2f0648d812240a6ffbbfbb534d9b62c
MD5 471b749c229283ac597c4feb08d433ac
BLAKE2b-256 686163b1e9c8e860239f1e0609b00ea8efff67e9246ebc70ab69c5432d80ba76

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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

File details

Details for the file aqua_tracekit-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aqua_tracekit-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14bba6d50169654881eae7629748c7cc2c57097e23949f1f0d8e4e4257e70fba
MD5 f5338842514d00028b173b2f1254d1b4
BLAKE2b-256 0fd4dd232598f4e99ef9c2d68b0dca4c1d3bd3a1248733a03826942c3ebfda2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aqua_tracekit-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on EivindBrendryen/aqua-tracekit

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