Skip to main content

A set of utilities and Rust-accelerated functions for the McFACTS AGN disk simulation project

Project description

Utilities and accelerated functions designed for use by the McFACTS team at CUNY.

Still under early alpha development. Modules and functions that are not explicitly documented here are not yet ready for use.

Merge Tree

For M. McCarthy's black hole merge tracking feature.

import mcfast
from mcfast import MergeForest

# creates a forest of all black holes
forest = MergeForest("./data/", "galaxy_state_*")

bh_uuid: str = "2b422064-0a84-4687-a542-395dcb61cd4f"

# get the immediate child of a given UUID, if the UUID is valid
descendant_uuid = forest.get_descendant(bh_uuid)

# get the immediate parents of a given UUID, if the UUID is valid
(parent1_uuid, parent2_uuid) = forest.get_parents(bh_uuid)

# get the full ancestry list of a given UUID (in DFS order), 
# assuming the UUID has ancestors
ancestor_list = forest.get_ancestors(bh_uuid)


# get the full list of black holes between the UUID and 
# the final product (root)
descent_path = forest.get_lineage_to_root(bh_uuid)

# get the generation of a given UUID, where an initialized BH is generation 0
# note: implementation doesn't fully line up with existing
# reference implementation, under review
generation = forest.get_generation(bh_uuid)

# get all 'root' black holes (products remaining at the final tick)
roots = forest.roots()

# get all 'leaf' black holes (initialized BHs with no ancestors)
leaves = forest.leaves()

# get all 'singleton' black holes (neither ancestors nor children)
singletons = forest.singletons()

if forest.contains(bh_uuid):
    print("It exists!")
else:
    print("It doesn't exist!")

# get total number of nodes in the 'forest'
total = len(forest)

# serialize and deserialize with pickle
import pickle
 
# Save now
with open("forest.pkl", "wb") as f:
    pickle.dump(forest, f)

# Load later
with open("forest.pkl", "rb") as f:
    restored = pickle.load(f)

# sample: 330-node forest serializes down to 16kb

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

mcfast-0.1.2.tar.gz (25.5 kB view details)

Uploaded Source

Built Distributions

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

mcfast-0.1.2-cp313-cp313-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.13Windows x86-64

mcfast-0.1.2-cp313-cp313-manylinux_2_28_x86_64.whl (399.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

mcfast-0.1.2-cp313-cp313-macosx_11_0_arm64.whl (349.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mcfast-0.1.2-cp312-cp312-win_amd64.whl (296.3 kB view details)

Uploaded CPython 3.12Windows x86-64

mcfast-0.1.2-cp312-cp312-manylinux_2_28_x86_64.whl (399.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

mcfast-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (349.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mcfast-0.1.2-cp311-cp311-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.11Windows x86-64

mcfast-0.1.2-cp311-cp311-manylinux_2_28_x86_64.whl (399.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

mcfast-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (350.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mcfast-0.1.2-cp310-cp310-win_amd64.whl (296.5 kB view details)

Uploaded CPython 3.10Windows x86-64

mcfast-0.1.2-cp310-cp310-manylinux_2_28_x86_64.whl (399.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

mcfast-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (350.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file mcfast-0.1.2.tar.gz.

File metadata

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

File hashes

Hashes for mcfast-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bd6af1675a60c8986a06c838e4c8184d1c53f6ea78d4e8b0a2f414385e6e80a4
MD5 483b7e2983b704cee002cdce8f1cb996
BLAKE2b-256 13468b1e8d2836916e68480369298d3d532b3e9aaa04ab759b36433de59828bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2.tar.gz:

Publisher: mac.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 296.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcfast-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1e30e3e54f15e745fb891731d8c715505de70e542862c6fe115b502c32e8d64b
MD5 1c74c9cfea94a8a16b5de2b0ee89db26
BLAKE2b-256 b01ff206292a6bc665580fd02ce0d90d0db6882b09dce754f3ef37043d66ce3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp313-cp313-win_amd64.whl:

Publisher: windows.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6d2087e59c17932a1e48deb671be67952cd19457a004e13eb484360d7805b6e0
MD5 0c366efb41980c7f8450830bd00351f9
BLAKE2b-256 949cd8374ce272122cd26c08e03a9c586ace1d9ca23172c827a7ef53f77847e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: ubuntu.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5dede8e59da38215d356ee0f7ff6e3f95edeb4304145edee5ee2f64af16121e
MD5 1e4b83f316f8a16ded15d60f01f053b5
BLAKE2b-256 502b6737292added935326b5a41e283db0c5395257ab465d7c460aa430d1b835

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: mac.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 296.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcfast-0.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8fd7952bc260f090eabffa7eaa7ad65700fa287f08dbfa1b935d2e4dd05f4a00
MD5 521ce1dabe1d9902831cfa5b49d8200a
BLAKE2b-256 0110877ec73b1104ec8a36cce272d1fb942365d722abc97a29ce632d0b71a4a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp312-cp312-win_amd64.whl:

Publisher: windows.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2cb8158f0d339e5f56d2eee31b6ba8c10a74c5c1e1e2f3c081ca94bd7b793b1f
MD5 9481288641aba187fa40814c1deea968
BLAKE2b-256 b18dcfc3efda3c292bd9bf2cc34a696a8e1cdee2b780fd535f0e811f9f4ccb6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: ubuntu.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b81ef96bf8ca61831af16dafce78ccaf68bf2dab21ac33cb5df7ceeba51e6cf2
MD5 94bf02d509fde99de2a2d3df94378989
BLAKE2b-256 f222ac387f1d10e308bdc13b3d50c8fee9ddf2c7d52b55ce8ac16802a842732e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: mac.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 296.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcfast-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 46b541b86c5b2b331ed3cb3263aac23941a0c57f196847d79c89ddcca4942c6e
MD5 d85715adca92ebba637d789f8fd550cc
BLAKE2b-256 7052c0648611d0c157d31e1611dcb9ef229d5622b57f9ee223d8af61fffd6ed3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp311-cp311-win_amd64.whl:

Publisher: windows.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68f7f63196241432ae3332721860cab1d18b834a1d15c8694479aca0489da2bb
MD5 3bbabdede66b41a1c37fcb44e3d46fb3
BLAKE2b-256 2f2bb1dc0fa6ec8318b522e199c0da5b4b51861079e1cad773a70a9baf2cf061

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: ubuntu.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 221bd2979984e77a3b4d911e82936927e73574f096a8d0cacf952f5a87111b5b
MD5 92f7014814b6b0eedca082f6686e2e53
BLAKE2b-256 09bd531e4b5858329698688dd3d1b3c8f3a31cfbcb2e0ccfce608746d6df9ba5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: mac.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 296.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcfast-0.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b0e0e5b56b56cbe9bb9604f9e83d4f0e703ec62397abe5c7b66ee3eb6fe7611d
MD5 5eee78f67dc2ee7d9b014d5ef62ba200
BLAKE2b-256 cf02d6dd75522244bc74aa9782730e69eba49aa83d5b73f5b0cf37ff3d92763f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp310-cp310-win_amd64.whl:

Publisher: windows.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6329c153050c3ab7f1abc901976adc8be927df9522f35d72596a996fd22368c6
MD5 781bf74995b360d437aaaa798e03357f
BLAKE2b-256 42a76a2437ea076350a390eb7e913461da28b906f7e974b4ac693bc714ce6dc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: ubuntu.yml on nrposner/mcfast

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

File details

Details for the file mcfast-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2c8f9371bd3332589b2cb1b35be97d2ba58bdb20b89c51957c6338f4e9fae66
MD5 43c6fcd6c2cb22428c10811edbbdc05a
BLAKE2b-256 33bb00ff496318b06ff28e2ddcdd1290c521eef1f2d084cf6230f84453346ac1

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: mac.yml on nrposner/mcfast

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