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.3.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.3-cp313-cp313-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.13Windows x86-64

mcfast-0.1.3-cp313-cp313-manylinux_2_28_x86_64.whl (399.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

mcfast-0.1.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (349.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mcfast-0.1.3-cp311-cp311-win_amd64.whl (296.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mcfast-0.1.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (350.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mcfast-0.1.3-cp310-cp310-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.10Windows x86-64

mcfast-0.1.3-cp310-cp310-manylinux_2_28_x86_64.whl (399.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

mcfast-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (350.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: mcfast-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 c1330d9ccabf011c5f8e1940ef6ce3be3662b754ac5d2fada9b8a840678d4ad9
MD5 4a814e92e2a042812320575c06a4044b
BLAKE2b-256 6c23553be30981f87c3d41c85c16ed2ae056a25dbcffc725b3e8e0be92738a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3.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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8fc9a09df2228526108272e3e2817098625fea6b62c3a201f1ec82b64943be95
MD5 d32d931588be0a2809603cf956539276
BLAKE2b-256 b86a0d896640ca33e7b54696d29313437c1349df6166edcf6d972a94a3ae3410

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7e981d1d78d31d8e1ff667fe4d63f1ee0d3c5bb51abf0164749c09dcf8333e1
MD5 9ce14d842b00b38e30aef4362d2a9c85
BLAKE2b-256 e46e40cc2f63278ff144c6f3c34dc7196519bd12a8642849362d13b9a4a85802

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b5d922782e1391287e021771a5fd509e53d062fbdaa613010e6f52fb99d0213
MD5 5ee2f552e94bc88f949c55edcc952100
BLAKE2b-256 90244c2cc0542fa79b5e9921ebab01f791197fadcf47a260c404fbb8128420d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ecdc7afc3ce41e6efe27b38d9307fd09365fc56674327dbd8c3a806b4022971
MD5 2f66ae9484bf0410ca5a63a61e202658
BLAKE2b-256 5a6bf213ddbcef35b1649a63297f6937f3d6795d9a2f9252b726b9f7da1ac897

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1814659889a43fc5c02e8d398e6ef400ef31d2d32d8507639a33fb91d2032f44
MD5 0398a35d034c3b2becec88eae120fed6
BLAKE2b-256 412dcb220e6c36ec0ed58034b800ea429e758b24e301d2ef3428db881c006e1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebc4c4171dff1b94023eed1bcc9d66dd8b67ff54043d4adb95ab97d05e757844
MD5 0c106416de63d444d3dc35aa4b6d6d2b
BLAKE2b-256 be110a7e38fbb23c3cd9c0d6789d0547ca49400628779a1f79c0557066945d4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 296.3 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 87ee854c10524c4e77e8bef6efd5f757599004940ca3ee6f209c6bd38d2d0cb4
MD5 b325f0f7faef01faf3a43bf24274ad65
BLAKE2b-256 6debe23d1100319060728edd435a84a5eb33e51b64f01db974a1cee75187f3a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a059f03f5ff239bff8a3af204f08b7096ba4babf7791457e8ca8b36b4fd9534d
MD5 39977efa26c41a68265ff2883d12572a
BLAKE2b-256 46070eb8e3bdfe6a4fa3580d896987ce2a2a58da11f81825b7a4004469df901c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c2db9f062f81cbde6d5693f0c5fba899f9d80fa6a18c762d179d403c8c37357
MD5 ecc33923d168d89823d0603e7ca26009
BLAKE2b-256 3d29e35204b3e38398c79e44e2913f2fc59ec095c430491b984e026cfcaf2a2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mcfast-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 296.4 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b661c9613dbf3558d616ac03393c54a549b4280f91d10d06807755ac7b29697b
MD5 bed41b0f36ab203d351e5160ea4fc35f
BLAKE2b-256 bad1a049372f1df0bedcf7606356219e47d42e316afeede6edbcd02c44da3d2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 712edbe32e1318dae53391e590d12d0ced92fadd088465bde846c940c3677b59
MD5 a993a31c29e5c9a7e054c22c8cc725b9
BLAKE2b-256 bc9cc380426f620ac1ef651376180a044beff17a297bb8ae832de5846f519af3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcfast-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c28784d8b086f5c9f39652d2c16f64c3f3060d38c8f33e03d816c9a9c251b6f
MD5 5c39b08b48168175a93fa07b9a9f5fbe
BLAKE2b-256 65f40414ed9d984869f49ddaaa56b594d77e265b480b6d97b2f9eac0b5c380a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcfast-0.1.3-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