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.2.tar.gz (308.6 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.2-cp314-cp314t-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

goad_py-1.0.2-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.2-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.2-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.2-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.2-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14Windows x86

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

Uploaded CPython 3.14musllinux: musl 1.2+ i686

goad_py-1.0.2-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.2-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.2-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.2-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.2-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.2-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.2-cp314-cp314-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

goad_py-1.0.2-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.2-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.2-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.2-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.2-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ i686

goad_py-1.0.2-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.2-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.2-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.2-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.2-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.2-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.2-cp313-cp313-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ i686

goad_py-1.0.2-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.2-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.2-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.2-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.2-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.2-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.2-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for goad_py-1.0.2.tar.gz
Algorithm Hash digest
SHA256 407b6e2612d7a7994c34b8af93a3815d0a61efa6fb3f0d33eea09850d700290c
MD5 491c26efadfe2bde80108997987f1c3e
BLAKE2b-256 12ceb1ed57cdd9d395f0f102ca4cfba69cda502eed3b1639a8d42ba185b98eab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e08713dcd60cb1f202b3d48fcb329f72eb28bf6fa6c441f388ff32e0937778a8
MD5 782cf8af5d5be4ab223c3d7df8d29e8f
BLAKE2b-256 72a7e6845d065700f7be45bcfd469d37bb8d9419bca98be60ef1da5bde850eb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f9382dcf165923ae5fdab89ed26132911dac7a3b2a5d3d179ab239ae40252a85
MD5 b596643aa082bdd95c18d109e78ffb71
BLAKE2b-256 cf163da946ffabc567865765dde9a79cd18fb7ebff6b5d44414d948b6267625c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b5247740cd89aa99bf974e5c872c35b42c65e0596b585d457a012a02c14727ab
MD5 62e6a8393db18a8d5cb210c092848dca
BLAKE2b-256 1a111e823024d6b776a688d750ee27273d972a089c958a0c0546ff13d3f946e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cfd32e9f8dfe978e4047fa722beabcabaa0ee138ec319e7c41bacfb8daf041ef
MD5 06e5b9309071848c9b0828a8a1e924a2
BLAKE2b-256 c2cb0b4619557afb21c271aef7bf1c51f971e2027f62e20e446be548eb19fc95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13469fb3e2f15bb9f712ba806f1dfbf34aa3cacc74e9edad2945561a949b6ca5
MD5 1f670e8e4baa40986e6e7ea10d8f0b62
BLAKE2b-256 feab460a78ab270b2eef7c2703338247e4e6e4700f2dbe8bca4138d497daba56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.2-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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bfb93d985c381d4f477d0a35c8759803e404dd051da5a03ae672e3e5b432b426
MD5 18f7b18d99d04f1f6078bede64da10f8
BLAKE2b-256 7655880b56abf3eb438e39b3eb3ba53f2e96964778400da78bcc58826cc4f668

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.2-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.2-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 792bf97610dad838598394239686148c311879cbcec5c5c33dd9cadb3a0ba9a7
MD5 f02af41f64d03ae61a1f26ddf92bb3d7
BLAKE2b-256 03439957a5a9693450fd025cc75ab8f7772f89faf548c023f3db538b59b81318

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b2379a11a71953223f3d6bfdd3d50082ae59ea0841a16789b99a3facaf9cf804
MD5 36efaa479461b4122d919c27a2b41fc6
BLAKE2b-256 7daed4c865ae9d7d001908cef9169c7231ce161cae8f88bb7cac905e07727aed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 34f1c52ccb41f0f1222fee1b66698be4992dc02781a352cb1627c8bf74d2e929
MD5 4a247592d7ed50f176cf4f6af0fbc740
BLAKE2b-256 d970552599cd8d5f9de6d05b494cfdcef431767b69f48d6c6aa96cfcbf057311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c46b96491d567a138f411407cb015301107dd95d081a31824d7caa97116a0515
MD5 93b34d86abfb6d918dcb160bf263e108
BLAKE2b-256 6a1b8eb0c3d9c741f138c43456f13dd68f78cd170a4552ba44d66a0325917266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b9681821712a2173d2e78cdea2f4c646c12014b6803e2b23e1c6953659a1dc6e
MD5 df6b3b2c288ba69c044d0f474ca177e7
BLAKE2b-256 498516a6d53cd9bfa1249b5b9c0305baa7ff1f25ddf2e03979648a75a4048f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 db8ab3d786cb68394ab4c34496d69e9c4a3ddb4e9bd53a8087ddd5fcf88c73d6
MD5 13402ed184e3ad310bc54c1eb7cd85f4
BLAKE2b-256 ed0daea0074605f70b661128b629158f7db3b242afa41dff050678c3772d1eaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3b46d03353294ae7d7c730ca5936937f23dc9bc4a024cc8654266b839054e76d
MD5 32ae5881e25e00eeb7ef177c349c98f2
BLAKE2b-256 412c16202d6ff8a1273eed9d1caab8c9425fe1e70209c35363e802f0bc10089d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a7eaedccee4c0eb4205eb38c4c931bc8aab7e9802c52c3ba37c77eb28748987
MD5 aec5e3dce5ede1292f10caee9b66949f
BLAKE2b-256 89a2f9f64d58b0a6c5cd0a860382fbe1a5988ed97e4c73a33f71659df96187c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 863f4f3fece90eda0cb45e020ed1174a06d61a9a049edb26e8fcdc5f2bdbcc09
MD5 af275c2e38edc5b196ee52602850c81c
BLAKE2b-256 fc7d8025fd5d060966cd5ea7211656ffaa82051e6ce76ae2c503576a896264cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f23af9f93871925764989f03cd7593f3f0968850a9ac71ab0747211ba488e49b
MD5 9f88c87c93b7935a3e19b8c74910a365
BLAKE2b-256 e813ec216faa5b2d1b079cd99fb41941268e5571611e3e87f8f57af7a6c5134c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d40e7e1330f0a98569ff4ec5a128621a7b58f70418793f866bd8d80c3d5d85bf
MD5 0c803dda87a878e47a190dcf778ead4c
BLAKE2b-256 cb7028eb484d922bd86bde77639a4c128e90f7f326fb8606c05ba9c8d50b75f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6225abde94cbd1880a4d6badb03e95ae959840940cf5383c1b5b520387d5a745
MD5 72939ba7b6187f1245194775f2505e9c
BLAKE2b-256 f26d2270e72a7456255cf9a4d13a8a544bbca027a194fff86179d1f179c52692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0bf4cce5d4c50f9357560f85b2d33cfab193b1fe6724c2e56d121c480581c411
MD5 aebe4687c9ebfe05f8f034aefbee76dc
BLAKE2b-256 2745e0f93f1cc474785ecee15132110d7be81cd93dd65bb0dba0e176f9967fd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8f3ba2266dd3905cabe1df1433dbef28091a89eb15bdecbe3a5feec13025fce0
MD5 f834642b01c068f3f62d1212fe3aad2b
BLAKE2b-256 2aba43db6932feac77e7aeefcf10c47b42ed497ddc99dc38fb064b1f8a8edb31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 83408fecb098fe5f01bcaf37acf9847d5f0633592fcd0dd5bbf075469e89b060
MD5 0ad0085756ba46b761a6a120ca07a0e8
BLAKE2b-256 21c87c5e0d62c34cb090b4c6e609ccd01e20e510ad72a188be279c696bfc7796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 658806c6e6762ae857b6f4d519ee3f8c7a530aa46ee43685617310868adaf073
MD5 153ba20287729317f63f6e30394f73d2
BLAKE2b-256 e16175b2a2e391f54b274144ac530ee2aca0564b5b87ddab77fbec2b4a790648

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2bd5202324fdf582cd3a845ccd731a4c8b68dcdb026ab726ab1b9ac878073eef
MD5 0c9eb70392d809ac8073ef8d78fd7611
BLAKE2b-256 b1164b4abba7605de842f4f896af19d9047e1f08e7636996c029f8d85216e80c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6d1ef6e3fdadce7cdf478113dd2244dc3d9d5e434808d29fe039683b4d9d4138
MD5 a36ee610e4822f411c9f9745f3423360
BLAKE2b-256 f8b7b4d44fc492586c2492c3b1690be22a7877d3a76645dfebd2069764d299c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d54aba7db32ce099df39a71b25af518c62dc0f479e92817305385e3098b3c58c
MD5 4aa63f18a8bf34639e622f8575a36629
BLAKE2b-256 5eb84cfade3c16730f1dc5a09e7cb53cb872385f33951186e44a11dbe6b3d069

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0fdf1a81edc00f5f961b115d406991cf608aa1950298c033800232264de0dfe1
MD5 26edf4722b80851560db426bb1612028
BLAKE2b-256 2e595102c8ca5fc5206268d5d9b2e2468e00deefa298fa28863b8081721834b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5a42365fcbbaa5bf24c28828c18367203fabe26104a3022230ac937fd6e9d1fa
MD5 43e471e00b677ef1b909afe7cdd0f39e
BLAKE2b-256 c0081e8937f24a85694a4066bedc31af75292b64d70e662f1334932d2973f050

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e6a5754f491cd53728eceb4e3942a2ddbcd838b71c4e3c2dcd54b2366a1a79ae
MD5 20465fe54a834f807b42a177e5ab1a25
BLAKE2b-256 c3fe832a207175dac62462ea188069cb7a848abdebb95579f158d5dc68c45a79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8996fc6460d74d808973bc68f233b24bd19b286744e59a4a70d6d72eeaff66d6
MD5 c67deea1c22112817853ee9d9094f7a5
BLAKE2b-256 3269249c0c1aacfa8e93a62d1a1eef8fe2133fd0a25b99f8208967329e9576a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cb3ebe3f8808fa1f5709743477832b7dad038f5f260551982fa5259ce93318de
MD5 35f168d2057f68747906ad39d4ff134d
BLAKE2b-256 f7a3907590cc81aa8cca85ad3b63d6cd41e61b9c93986c2746e198ccd03ab7b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 12c5b42ede6d3ff4fcfb31f79720654ce30ede2b2f08bc14a3df816ae6c452ab
MD5 1700a658c9ae28ca2c78998d900172de
BLAKE2b-256 0a58db465e04f78c6e215732a84a48f8a9aa225117da533d68fbe86797762ac9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b4ae0c1b96a06785c2bdaf87da54dcc9a9bce479fc2435d64b20cbc009c6d81
MD5 37d877d1c237db95171ea8644e5f61ee
BLAKE2b-256 9269990a8611a101c4c09cf5154e448b748355c22ab2da2e39f65071353ed525

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 34d142ee9d5571b3f7e43d17a197b51d208a593b41431dfecd00ee19de82794f
MD5 cf474ed1f8708b8596a8f4087d96d1d3
BLAKE2b-256 ba7449e4e73a7047bb10612fb59d36b65edb028bdca7f8b6953776cbb8496f02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9e407f2a7ca360cd2685df90811173aef8c3d16ba0c9b4eff27a56a59979f5a6
MD5 53a29af109b3fdd57fdd057686d364a0
BLAKE2b-256 69e9cbb822d9987d315660c1a9c703d812a870ccf421f76995d5a23e7f512b4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 16cd6386b8013ba256822a4ee0cd7cad90b6cf6abc16fea8e4493cb462b07d67
MD5 a0ef01d00278600d2e2e5f7c9119c762
BLAKE2b-256 0aae4c36488e56808309bd905a345b76a85c94f0fc0c78a17278dbc69c6e4c83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 56222c59a1c19c0dbef936f220b5929156ef3191f3a2f0e647ddf20f16885492
MD5 e495c6632b481ad525c301d0d9c05122
BLAKE2b-256 dfafd24121fecd507ffe8e950ce70c29fec3d01d037221018e6616ffe2fe00a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8814e533702be4d254755f5a5416da8acd07426c988f1ff8b68f7b66c6326732
MD5 766ddc6cef279c43202713f57a2661b7
BLAKE2b-256 3c87b5ca6cf41653e5fd06d4b7aadb318afd23910631cc899092d049cc1d49ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9bd3d24102c48c546283976f3541ec4741c1a42d8e13e279508429e1163c7fd
MD5 0bdc90289379856513221e13ee67e042
BLAKE2b-256 df2ac66f2321b356f1c7570a31f02f9787b686be8599d2f83eb24ef554f2868e

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