Skip to main content

Physical optics light scattering computation

Project description

License: GPL v3 minimum rustc 1.85 Rust

GOAD - Geometric Optics with Aperture Diffraction

GOAD is a Rust-based physical-optics hybrid light scattering model based on geometric optics with aperture diffraction. It computes the 2D Mueller matrix by using geometric optics and a polygon clipping algorithm to compute the electric field on the particle surface. The surface field is then mapped to the far-field on the basis of the electromagnetic equivalence theorem, which takes the form of a vector surface integral diffraction equation. Green's theorem is used to reduce the surface integral to a line integral around the contours of outgoing beam cross sections, which leads to fast computations compared to some other methods. Compared to the PBT method, GOAD uses a beam clipping algorithm instead of ray backtracing on a meshed geometry, which makes the computation more accurate and faster if the particle has smooth planar surfaces.

📖 Reference Paper If you use this code in your work, please cite: A Light Scattering Model for Large Particles with Surface Roughness H. Ballington, E. Hesse JQSRT, 2024


📚 Contents


🚀 Quickstart

  1. Run the setup.sh script from the project root to compile the code and initialise settings:

    ./setup.sh
    
  2. Execute the binary located at ./target/release/goad:

    ./target/release/goad [OPTIONS]
    

For more information, see the quickstart guide in the docs.


✨ Features

  • Full Mueller Matrix Output: Rigorous vector diffraction theory for computation of all Mueller matrix elements.
  • Extensive Geometry Possibilities: GOAD is built with the flexibility to extend beyond simple convex polyhedral geometries, such as concavities, inclusions, layered media, negative refractive indices, and surrounding mediums other than air.
  • Fixed and Multiple Orientation Scattering: Rapid computation of 2D scattering patterns in fixed orientation at arbitrary scattering angles, as well as fast orientation-averaged scattering computations for radiative transfer and remote sensing applications.

🛠️ Installation

Before building the project, ensure you have Rust's package manager, Cargo, installed. You can install Rust and Cargo by following the instructions on the official Rust website.

On Linux and macOS:

curl https://sh.rustup.rs -sSf | sh

Clone the repository and build the project:

git clone git@github.com:hballington12/goad.git
cd goad
cargo build --release

After building, the binary will be in the target/release directory.


⚙️ Usage

Configuration

The application uses a default configuration file (config/default.toml). To customise:

  • Copy it to config/local.toml and edit as needed.
  • Options in config files are overridden by command line arguments, which are in turn overridden by environment variables.

Example ways to set the wavelength:

  1. Edit config/local.toml:

    wavelength = 0.532
    
  2. Use a command line argument:

    goad -- -wavelength 0.532
    
  3. Use an environment variable:

    export GOAD_wavelength=0.532
    goad
    

Command-Line Arguments

GOAD - Geometric Optics with Aperture Diffraction
Harry Ballington

Usage: goad [OPTIONS]

Options:
  -w, --w <W>
          Wavelength in units of the geometry. Should be larger than the smallest feature in the geometry
      --bp <BP>
          Minimum beam power threshold for propagation. Beams with less power than this will be truncated
      --baf <BAF>
          Minimum area factor threshold for beam propagation. The actual area threshold is wavelength² × factor. Prevents geometric optics from modeling sub-wavelength beams
      --cop <COP>
          Total power cutoff fraction (0.0-1.0). Simulation stops when this fraction of input power is accounted for. Set to 1.0 to disable and trace all beams to completion
      --rec <REC>
          Maximum recursion depth for beam tracing. Typical values: 8-15. Higher values rarely improve results when reasonable beam power thresholds are set
      --tir <TIR>
          Maximum allowed total internal reflections. Prevents infinite TIR loops by truncating beams after this many TIR events
  -g, --geo <GEO>
          Path to geometry file (.obj format). Contains all input shapes for the simulation
      --ri0 <RI0>
          Surrounding medium refractive index. Format: "re+im" (e.g., "1.3117+0.0001i")
  -r, --ri <RI>...
          Particle refractive indices, space-separated. Each shape in the geometry is assigned a refractive index. If fewer values than shapes are provided, the first value is reused
      --distortion <DISTORTION>
          Distortion factor for the geometry. Applies distortion sampled from a Gaussian distribution. Default: sigma = 0.0 (no distortion). Sigma is the standard deviation of the facet theta tilt (in radians)
      --geom-scale <GEOM_SCALE>...
          Geometry scale factors for each axis (x, y, z). Format: "x y z" (e.g., "1.0 1.0 1.0"). Default: "1.0 1.0 1.0" (no scaling)
      --uniform <UNIFORM>
          Use uniform random orientation scheme. The value specifies the number of random orientations
      --discrete <DISCRETE>...
          Use discrete orientation scheme with specified Euler angles (degrees). Format: alpha1,beta1,gamma1 alpha2,beta2,gamma2 ...
      --euler <EULER>
          Specify Euler angle convention for orientation. Valid values: XYZ, XZY, YXZ, YZX, ZXY, ZYX, etc. Default: ZYZ
      --simple <SIMPLE> <SIMPLE>
          Use simple equal-spacing binning scheme. Format: <num_theta_bins> <num_phi_bins>
      --interval
          Enable interval binning scheme with variable spacing. Allows fine binning in regions of interest like forward/backward scattering
      --theta <THETA> <THETA> <THETA>...
          Theta angle bins for interval binning (degrees). Format: start step1 mid1 step2 mid2 ... stepN end Example: 0 1 10 2 180 = 0° to 10° in 1° steps, then 10° to 180° in 2° steps
      --phi <PHI> <PHI> <PHI>...
          Phi angle bins for interval binning (degrees). Format: start step1 mid1 step2 mid2 ... stepN end Example: 0 2 180 = 0° to 180° in 2° steps
      --custom <CUSTOM>
          Path to custom binning scheme file. Contains a list of (theta, phi) bin pairs in TOML format. Overrides other binning parameters
  -s, --seed <SEED>
          Random seed for reproducibility. Omit for a randomized seed
      --dir <DIR>
          Output directory for simulation results. If not specified, a directory in the format 'run00001' will be created automatically
  -h, --help
          Print help
  -V, --version
          Print version

EXAMPLES:
    # Run with a specific wavelength and geometry file
    goad -w 0.5 --geo geometry.obj

    # Run with a specific refractive index and random orientations
    goad --ri 1.31+0.01i --uniform 100

    # Run over discrete orientations with an interval binning scheme
    goad --discrete="-30.0,20.0,1.0 -40.0,13.0,12.1" --interval \
         --theta 0 1 10 2 180 --phi 0 2 180

    # Run inside a medium other than air
    goad --ri0 1.5+0.0i

    # Run with multiple shapes with different refractive indices
    goad --ri 1.31+0.0i 1.5+0.1i --geo geometries.obj

    # Save output to a specific directory
    goad --dir /path/to/output

▶️ Running the Simulation

cargo run --release -- [OPTIONS]

or

./target/release/goad -w 0.532 --geo ./examples/data/cube.obj

🛠️ Testing

To run the tests:

cargo test

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.


📜 License

This project is licensed under the GNU General Public License. See the LICENSE file for details.

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

goad_py-1.0.0.tar.gz (308.2 kB view details)

Uploaded Source

Built Distributions

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

goad_py-1.0.0-cp314-cp314t-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

goad_py-1.0.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

goad_py-1.0.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

goad_py-1.0.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

goad_py-1.0.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

goad_py-1.0.0-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

goad_py-1.0.0-cp314-cp314-win32.whl (1.5 MB view details)

Uploaded CPython 3.14Windows x86

goad_py-1.0.0-cp314-cp314-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

goad_py-1.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

goad_py-1.0.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390x

goad_py-1.0.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64le

goad_py-1.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

goad_py-1.0.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARMv7l

goad_py-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

goad_py-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

goad_py-1.0.0-cp313-cp313t-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

goad_py-1.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

goad_py-1.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

goad_py-1.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

goad_py-1.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

goad_py-1.0.0-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

goad_py-1.0.0-cp313-cp313-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

goad_py-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

goad_py-1.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

goad_py-1.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

goad_py-1.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

goad_py-1.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

goad_py-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

goad_py-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

goad_py-1.0.0-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

goad_py-1.0.0-cp312-cp312-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

goad_py-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

goad_py-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

goad_py-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

goad_py-1.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

goad_py-1.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

goad_py-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

goad_py-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file goad_py-1.0.0.tar.gz.

File metadata

  • Download URL: goad_py-1.0.0.tar.gz
  • Upload date:
  • Size: 308.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for goad_py-1.0.0.tar.gz
Algorithm Hash digest
SHA256 29f4ac0630a13f925ae3949893938a08bfb046b27817e0bace32ea7cc103798c
MD5 6810bbdeffc99f8e21d26baebbfcedb3
BLAKE2b-256 e0717439c3be54d2194c5e300dcf97b1596e50762085b2b33cd9d1dd0b59bc16

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f366faf769884e9db7ae17e55eaf1272022baff8c9957969b2b4ac4dfc26b88d
MD5 6b61d54704900f9f165d03e3c7187fb6
BLAKE2b-256 2688de31803e5b59f5ad9d4294ae6c69dcb9f07341e08a97ee4eb30c76af1959

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bf901711f5a2623593a03e36e371f6134eb0859b0f8086ee07589c6dab48d71d
MD5 f9ffc14781356dd50c032f4e07fbd20c
BLAKE2b-256 1dbf2fcb032a0b4d9932478e63a561e73943ff5687d58741ce5dbd5d710f9e7c

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6131cdafbcf4d47f7d8d7b6d28548bd11e9cdd83846eba3db0e61a177ef7f658
MD5 d8c9aff1c543b76caee8e95510338da9
BLAKE2b-256 523166af3add50130b441b2fb7d3b418d6d6c8365569ab3b0f163fe04c9e94db

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 35fed25977c30fbf09cca86d2fa92a72fb459c5a1228abf7f5f4300fecb82ea1
MD5 22d4da680b7a0f684e913f0aa2438167
BLAKE2b-256 de2654fd3e5813c7f560ce38d6390e4d3ebaeb29c065f4511c84faf3e79927e9

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba1ee321eb53e2551a83a3c764feb83841f9d31eb11db566dce9ebe2e9941c25
MD5 7ed03e19fdfed606de6bc201754d28df
BLAKE2b-256 2c820881a2e12122db2e83fa63c759a71c196ef372af56615933d32c6d712eb4

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: goad_py-1.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6225f13cae11c5f5a934850376eb8aa4a1e247a4841e37183d47309ecc205c35
MD5 a317579ba9208f99b44c3346663c0d98
BLAKE2b-256 00c76098ad67745317cbd7bb397e4d88facc37773359fa2510add0f98cd8d327

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: goad_py-1.0.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 1ce1610ae5b215590f12ff1e6d419b55a7ad21edbadf03ebbecc61de46cd03e0
MD5 3aad9d51a78d5a8400765f33016cd791
BLAKE2b-256 f7d4f6f666920adab189ea8b1867c7080345c460cfecb0e71b8c8f8dd00e9522

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0f171f3828cf5dc735b66a79207898bc16d313e2b5943241be89f42f2193e6b9
MD5 c22e11b01b7b1efae2ec2377de7c575c
BLAKE2b-256 06f57028efc416c02cf65c033df61f5cfccda7dbd80a735fa70e10eb97dd6351

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b8485bb1f6922305b392cea16826e3c4b7409a106f689ba8554264778e65de2
MD5 c7c9dcc876399332f6c776a69f9468dc
BLAKE2b-256 060bcb4c446273144c46d4ce24988e5ace1ad99e071e782a6effb3f664d9a8be

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9e1b63f609e83f8cf450ac6e8a80255f3e91e85fb4a0e77bd2aac97e9c6c75d5
MD5 d2c485162ecd3f93e7b6ebe8b9430d2c
BLAKE2b-256 fd06e7463190809d926d53b7f6ecc14e738ddb9f07ceff789781b643e7bc67a3

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 623a01ed61f35ed15cd5027b06bf7b78c15e365e5ce52db4ef0f98c2dd35ad0c
MD5 78c83405987ad02a12dee6a37b421c72
BLAKE2b-256 c5cfff86d783db4a4e11d33c67476e7f753942f76adb75901426f0898dd467a1

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 062eec050b358db5e6eb30621c39106bab582e2dbe57c068652b0cdc82202246
MD5 3c7cc72aece371cbb9b215f4f2d00014
BLAKE2b-256 1faae912b074c8a6f1f153fbe0a57039cc72686bab968b4ca47d846736db1b3d

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ce3facb5e553880ea9adfe498435acf3428ddd04c5facc95322e614143dcf287
MD5 5922c751d6e2b5882cedf684729b03f9
BLAKE2b-256 2fc3553faa19f31790459b48a6639aa38ed950346ca6b49c66f487f9c2ea44e8

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a1c6454e6abb5f62d836f9d0511c27ee1f3bf2144f972581b00ac3b23dd678c0
MD5 298f834d85021eb9232e95851c6ebc55
BLAKE2b-256 c58a05e4ec073bbd3c73ef0365b990bd31eea74b3ae82677227a13ff677cf34b

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0c3a3871552f301e4c2ebd757fdd7ab4e8a5edfe4821a7835e1d9d2e12905ed
MD5 1a57e4124a0233e98c0750acb1f272eb
BLAKE2b-256 f6896859325911ad182be0e3839567b3a26d78b5af8f33db8067afb8e5cd5593

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 725c07890a34eb846e5b497cba8b9c9b237578323f4d05f9635e17a05474f4af
MD5 8daf7acf4c18d436aa52d5c409d236ae
BLAKE2b-256 699a9e449543885911ebfe22bedea921938c3e48a4197b34e0a7fa93e69f27bb

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bcf51c2f789f7e25bfa0d04cb80bc7653b8509916af484e7d693c1c0b1465a50
MD5 f67241426275843d656c4adb8ab30852
BLAKE2b-256 00ee788f82e8d44358c8c0de67973fe3e0fce10b418cbcfc96d0574f7fcb5fd8

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 44b158c59f49d9652d6b703c89f299eb9a658e2cea2d4fdb6540279769ba8b16
MD5 11de569178da1f4c2c8bb969348dd19c
BLAKE2b-256 7294f047f4514d705fb08feb62f3f4dc7caf61801e1075a5218f100235f555f3

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5faa888a49fa8388d3b78b96200e109c6a86810ff8630c7760cd93827ee9d641
MD5 2065a9d3941ef63ef24d95d13f3bba59
BLAKE2b-256 beda8b524a8270c9df64fc069a5cc9b70f7f5e825cf1897f6556ce72af5ca014

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eae44541b233d9e96e7747fd81948e23834f38286826fda4447b035241c13df6
MD5 039ed1d652657997765916053d9bcf09
BLAKE2b-256 fd3283b5d5cdd0a727d12f8951a00841464ce10be54944f1bdf04bc6cab44200

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: goad_py-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 33656a43d6ef82b048c78ec1ca250bb909c030449d334e6d3648fc72cd657e41
MD5 43d5259f6597dbd335dd10c0ce8e2a02
BLAKE2b-256 90ccfa42dde1863fd802d13ea1ade49d25553d69ede677d59df643e7b0350c9f

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 aeb0398b90de364820628060db0a8eb9b0078687902530edefd802e004fa95e0
MD5 d8874acabb6fd7bda7121429f41b9841
BLAKE2b-256 9175e9879d3f9c0f3741998c6032317c773b7cbae6b8733f313372e5bcde3f3f

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ef7261a886179ece88d967e4c11d4a015ec6b7a023038920cabcd7c6b7f80a4
MD5 bda2dbf30038c97d8410a30f4198d8cd
BLAKE2b-256 aadc4ff642bc8e1d339cc034aff1213f944e1bcea5ae29a4b8c74798bb275614

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1b2787e05c427b251751c2bebd048d3e9c3fe7dd69901a4ec6bb73665c5a7cf6
MD5 061388ab2b7fca6f40ca3588c13ecde6
BLAKE2b-256 b890563f1f2da23cdefceb4e965ee6aed1c330490df782122d4e89f1cccc0edf

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 76f83a195015bc58851466e6f5f26cc72171df1a6b3a5d5a71df5f710d692161
MD5 fdee2c4bb8d53fec8f4c586b7c542034
BLAKE2b-256 6efe6c91ec5901577c956b12e4d4a101f754191d25ee85337e584fe4e6e0ab4b

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a15579f3cfe195c19c63ecafc6e5e1ca299da080c51704cbb9bbb1c8d7b83c0e
MD5 ba7419180b43c6576951599a99450725
BLAKE2b-256 99918fb485b5a5d50dd36cb5f5b96738c6ae1176b0bdc31eed78409e24b85022

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a5466e0388bf08c6fc157331984ff5b2ac0e338932737cd6a244f6c26bd566cc
MD5 4f8834692bfcffd0267e7d62efefd3e2
BLAKE2b-256 2d9e650ff47b37ccedfd2905f9053a15364d31bed9f8e3d7dce7c2dde5cb8ad3

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e69f306db81096e2025baa4556c6d3d37bde1ed41c4ffc292de4a31df99dfef1
MD5 b97eb928a2bfb011b34a7cdd3836567d
BLAKE2b-256 4abf978e031cc47c8699dbc63a2d34010a741e757fba8992eeb686435248c2a6

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16173d52cd91d9982db3755b1318e1c58a062a68029b8ee5bc0654ec76a03ace
MD5 cd0e1110de9ea6e153cb6784a02f9473
BLAKE2b-256 96f1e0b587836b8435b810c3d9489b8f7b49e950b8427b4a1893ebcc9b2b724e

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: goad_py-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aeea178e4b33e6395528bc50cbec28571063f56afca7c1c38cf4d34a101ed89e
MD5 07dbde00a50348fa382417709061b49a
BLAKE2b-256 a0a27ffbfc87a950bed122c2a4e891818c18feda40c85361145348bd17e1caae

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7582ab661e7c21c53b647ec6ce21c53d4a812a0ffbb751c2c5ac68ab427b266c
MD5 99512009149b1eb154dd98fcdb03176d
BLAKE2b-256 bc01e5302deb5e97598e6ffb63fdacb9c9912b9d3a555eb466480c8aa7f7cb08

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71bef06c64684483164923a76742fb7bb73862b82ea61c1b0771fa9d17e3fe28
MD5 cbfe468d4f8a60e54444f4a148308a62
BLAKE2b-256 3840708a4b8c14f1cc7f8815c0432811b8e4156b8c8de387e1aeffddf41002ee

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c83d29df39673024848cf963c0e841f765b7842b17610d194890cd90b9935c66
MD5 e1984907f95ed0eb8b599ad063608a82
BLAKE2b-256 b1715e4f2bd2fd6627f8ad2f751e426400375cff81eb8e1d4e60d8d018bc6590

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3637661ba3ba235a1ed59e55f17ee5813f2764e17ad3092632a2a5b9f0e6c643
MD5 84dba837f79cae941929dce309799ac0
BLAKE2b-256 02d3d2ab37707accc9c9796329d2079d18d24f778d8c9809d2c6cdf96aea0508

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ea2e6d59001bc44f033d39d9c9e0ca71abc4cd783263bb3b5c431d025497e210
MD5 eff126560e7c120c8621c46189d46e24
BLAKE2b-256 7fb0bdd91fd268c77a95d14b9c2ed625578346ce2acc5349ceb3112ad2fcd3d1

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a3f4b4eadb1da6ca1f2c7fda8cdf4e5cf8d191d6e1d310f515e2de0c189db5d9
MD5 a780041953a2050941eccc73e4a99924
BLAKE2b-256 30e201b4f7d84c2d59331882ef32b03989002b81e658cda599447a49352cb794

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f9fc2169f6af9e7a75441cacb075fa068989b3b4b23173d8f94e4f3f5db66b41
MD5 46200904342337626e86a0cecdfeeff0
BLAKE2b-256 2ce3ee5ab437e6307aa69eb73004a513cad859cdcd02e7d04957693b5d58db86

See more details on using hashes here.

File details

Details for the file goad_py-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goad_py-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55c224fd8b614f14fc4e0963fea850d46cbb4ecf49daeb32131d7e5449f696cf
MD5 76c588b2b26fb768167f74d497468eca
BLAKE2b-256 03d203a510c22e1ba9cc28d5e2edb5a6e7153d4f1721c42df7ba56497f0dc3a4

See more details on using hashes here.

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