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.1.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.1-cp314-cp314t-musllinux_1_2_i686.whl (8.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14Windows x86

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

Uploaded CPython 3.14musllinux: musl 1.2+ i686

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ i686

goad_py-1.0.1-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.1-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.1-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.1-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.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ i686

goad_py-1.0.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: goad_py-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 c2a8a2f9ef666094034219f0b79711343b2c5637ae8a581c038f3f03922e0c58
MD5 59de79dcb7862dc8f86a871034e27f51
BLAKE2b-256 be28be17004d55673db07e1687298dedf893fbc2da5f47bd0ee624012813de29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f97cdc8ef76af164cd4ce934bd56c182bff702f208c8a88c434f6a5b598f89f7
MD5 38a0dcf278f769d2fcb7b475ad5e09e5
BLAKE2b-256 4f69164e73ab2bb6bb5b169381ba7fb71488a357093a679f4eebd3c879827056

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 aa69b3500305234d30a2670d09964173a6e0fbdd2cbf18a3defe75b0618f2f26
MD5 510e6bad3a701bccad6ce586083750ff
BLAKE2b-256 dad67d518ec275cfa1195b3c7f64375ac6886a1b8977ff8f18f6fc72f046f8b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a6f8c5e23f4623c52115df2ad609341e1daa417fae0575483d8933caec4f7648
MD5 e94115283b90d0475ec68027aa91fe19
BLAKE2b-256 8435c956d1e9f92e1f0cf7b9799a034d6a6b888df226ecdf37b9e4279e2a1a4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0f808f8237f2b84c03ded7051497dc7f9fe03eec392953e6a93583964111cbac
MD5 3230aa09a4ccac6e97af856a114e1dd5
BLAKE2b-256 0af00178b65bc6db11509c826bd2cca7b3301bf4854858b7594bf840e47025d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ad9bf76f39a9f49b233a17ec12d08d8df49b832785ccccbf44d2c4ded70a233
MD5 b9592d517f710c8c791a455aa80fec0d
BLAKE2b-256 6f357857b7b9d94a9ae4a1f602257abd9f7102965d10056fc462884251c7ffdc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 dff6f0af4c63aa558fbd0f9591790f807a42cb353fd084b8d77a1fd4c520b089
MD5 9c4d93ca546209cbe4d83ceebf413d91
BLAKE2b-256 15afeb21be6b77bb6803bd33797f6abfb856b2665f43e817fefd5e61933bcfe4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.1-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.1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 8ed1591f6ed4abb431c52c6ec32879891a3d87022f9faafe92b7937918acbac7
MD5 2675aa79fbed0bd71eb13eb1333dab7a
BLAKE2b-256 53ad6c0fda4f5feb5333e0822f6a654cc035fd99c63ff3fbc7fe3d0f1d5e0781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 991b835dad3e4bb7c8157e09aabd821772e9bcb8bb2fdf4070ec25d1450e7646
MD5 6b8c3e102ff86a959ca046c3e6638873
BLAKE2b-256 010890880d5bdbb5bfe70a5021616d4b2acbbf43c4ea8e79f476b1ab7fabdb31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3bd68838d3b5e3c63412631d8a7bb8497a820eed8c6dc5b2d1a2360ff2cca04
MD5 1a93a752987ea294a79e73c4b1691482
BLAKE2b-256 3adf6786547c0be7c1bb82071c9ca9266f4b1a3d4360b9ff4d1aa51675ca3df7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 675e3eb9057eb233c6a13bcaf5fc7311001f7d461d5777fb6d7b319808b2b9b7
MD5 489468917efcfc8ac3abcb3c1b334104
BLAKE2b-256 6f2116d8e9b7ccced899af5f9f631c6a56d0855cd1db35c153c8fe57aab84f88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9abd78b9a526102c52e7097f6ea5acec93916742ffc8eddde11cc620f7fdff2f
MD5 0029f63d9160d216b8d8f531a818bb3b
BLAKE2b-256 dc3159f70f7046fd0bb0b21a8466c58b84383cb5c7a497599cf0977fe428b939

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bb352cebad9511f7cbe1db8814dae5311aa5449163f051ee35fd316e126d67c4
MD5 2b405f04b5077aabebf591ba4457b43f
BLAKE2b-256 895f530dacf738ddb24b39e1e9897ab6a6a57a9fe7b791de29791557d271b5ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cd5924e7fb06f61f54da980bd37c7e27b99d4bf1bdd38eb81426517b4c93d9ae
MD5 54c034c4801943e1eeb4b12f7dd8a6b3
BLAKE2b-256 85b46cdeda49324fe714400c31ab69b12facb4eb9a276b6f939e6a542821583a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c7d778a4b163719097e6ae4befed8f055dc67ca1ae944dfc65258cb1129a0227
MD5 acf73c24c8897afc275cf1aca97058df
BLAKE2b-256 7b1f656acd20010d5ed0a1b90765cbdd59cf3dd090079580abb94a422fa7b0a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af4055211699b66e5157d759d1b886fb1aea9227c2f4c8410fa62b890605fc02
MD5 2189d51959225fa6a815bb431190acf4
BLAKE2b-256 15bbe5ac39b81efa049a82cc38bf4c3d5832e6cacdae450572576cc09bfddc25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cc0c40ac35e7dc1a67166bd4660055bd24bc2690a8c85df404b86af681e0ce39
MD5 dd14aa8d8e21f5a50817035a82d02e41
BLAKE2b-256 0091d70eabc78a86536df3982a2fb52189bfc68600e20b5a314f62143efff1d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 05ced0c975cf287df1d3d3cbc21805fc4a4bb5cb9ee6787371f9141b64e2985f
MD5 579c53a19eee9f7fe7f7b6c79ca9217d
BLAKE2b-256 4bcd899778b613014f04bb2545449438c3d1199105332102d26627f271730320

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3aa0a9beaf48cd60a07aa49b7a890f9d3cc297aecc75dbd06a5c9a1b3fccd7f3
MD5 9be61070583dd89930852b394229a62d
BLAKE2b-256 7617188b1bd73d4a520e1123e5ead04a6597cb5b2081df0612744a42016717ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e4e6a0a03a404c5242a2c63442f6267fa37cca2b4b60be97c211f22b034c7286
MD5 95d923c80af41fab7ea82d0dd06ef980
BLAKE2b-256 bb0f5b90c4f1ef88d10895835887d1b49ddcca1da47bcb8a67b9120e36c10763

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a4fdda3e864b9367a346fd9875c3ffcc1215435fa5daf184af15c3482a115c6
MD5 2a2b205d69c667a1f038b418247fcbdb
BLAKE2b-256 8718947c4718acdfc65ece524ce05b35a8995b1d5a325a4550e4ec208fc262cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 43dc200258bb93d026b73d9fa095788732494fd09efc553dcde8aeeb645ca57a
MD5 a54b79f1c96a5014d0c26ccefd0ba4be
BLAKE2b-256 63407f5950ad8e962144382fc66cd98676c7e22fd5b45f6d0addc46347f4b5d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8b0a006bc06f07ccd71489d4c2c1959b814655905c369e40546196b85472f480
MD5 c16bcac7edb2c17fa081dc9ea51f9c31
BLAKE2b-256 57d77c4dd47218febaf73a2d370d4ac13227fa5d8d29625745d916096747f8d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d28ed9fc2eb85f7090a8c94020b46415d8898907ed6cca89a44e7d3fb3fe68d
MD5 8c08e1f2ce4e27a972619cc675eb050b
BLAKE2b-256 a51fe872479cebe4bac48a1e81f5c96dfc079eaa3523a8670d6f89d4d1b679b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c10cc3bd97c5d3d49cd139a8df40b2f24e79aa10667b69f8e40c176890705e32
MD5 9e394e6b5eefc9d05a438d963fd99e40
BLAKE2b-256 cd0bcec8b8bc23560f178668362f11fd683af75ba970ad6454e36bf41bfc8f79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5e4f2ab3088c79dc9f05f75053bf2dd4c9d015b377de1b62682b5b4e80782cb2
MD5 ed385beaa7deb0eaba567c298bfe7384
BLAKE2b-256 bbea4256b22450ef1c3fd93b8a3e64415c9379b9412e074064e78e48017bd4b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5eb2451b682d877fb20e0a0663b144502b1eb6dbede53b175a3d65871ceab565
MD5 e2fccf1386c346d96e1c59adf06977b3
BLAKE2b-256 e55ff6654168babe28a904b02a07875f00e9bb55f7bfd7534bb2090ab481dcb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f9d0ae7284bf92ea20f7b26aef99b3e1d8e32721fdece2f82146cef0a1a01e55
MD5 7b78def85e0346be41f4fa9a1b2dcf57
BLAKE2b-256 b13248dc3b35a8c63e0b7184f3c9ff4acfb052497a52a2fd917d86264d582942

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cee4339135924c6a18d6caf5fbf15edb02ba1df5e0ce35a6da7a2a94afd5cdaa
MD5 38bce4144015e0a6042fbf3dabf78913
BLAKE2b-256 42c3dd37e870a5140f02796f3674a14108edd5df7baadd751b251d88d0ab5d61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 362fb50a4c9774f70aa89f307a7b4614917d80b73866187867044b6da79d4baf
MD5 03703bd8e4800fa67e8a818d70996124
BLAKE2b-256 86eccaf4d88dca1ee3c0f87ba86c915dd79d3d51d2169f2b35dc89bcbfbf3777

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-1.0.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 29c1add98b47ab8fb3ff3966fc027e7ec079c991af058d8bb8ad197f2cbd87c7
MD5 2bb674f4f1e4c9ef48ead849efaffb1d
BLAKE2b-256 6538f695b27dc6e67b4f09eac551d9404e285a358fea1095c3c02b8701dd945d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 85b795826107f9a0a310d304d6f545536592d949486c6500936c55baefa16635
MD5 8fe7af9f06420d15c05cc6e870219329
BLAKE2b-256 a2f13a1c2097f16914bc74c5c8c3ace4a4810666204b348d1df4dc9a4dcbb9c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f9a3bceb7f5557777afd3f3c7d3ee8da876b2ac5f0d3fa52d089dd4d6be0130
MD5 7e5a9738ae1165cdb8d05f49722051da
BLAKE2b-256 dc32fdc5207a165fa31836eb85b33f4f5d52cdf19c32c86fc94e03b2e9bc3990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c6405c84ed4e6126afa9447f4babbf78cb3f88d2a7fefc31fee3981313ed0471
MD5 761b6c1ade0f9764888c1f32162e5506
BLAKE2b-256 e2b030c11dc5eb91ba7ad6c6c619f75aa36e46a226ba1e02c2378989feda45e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f91df3d6975e952179f70712af3405f5b0f6474f7ee8415f13b59d9c04aa0342
MD5 17390f98cfc7ec300f0966264110d83e
BLAKE2b-256 3e26949e3bbde6f70665771335dbf13f772bcc16242948a16a7e35a029ecab0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5a6b669ccfe8d9b17e58d0a4e811cb0d1ed541d33f0acaa6ebb9a2d5d63e65f6
MD5 f223729ddd31d813c99fe24beffbe06d
BLAKE2b-256 ffc7fefbb2976ad6cce04d610b852d7ecd97ad345dd42514722c5c5f7e6e7367

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 135080f1e02ba51593ff81f786c69501c5212aa4ee64203ff9748c3bef658f47
MD5 4e7580df2fc9af34623b8aff20bc4d5a
BLAKE2b-256 6297d0ab8e7fb4d8bc13a8f059f5fbf688cc28c34349c6ede435dc374383265d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 85ab00166c90866d21d63fd3a4667d68b3c33c0b4b503946ee516606e07f1d88
MD5 c34422075e9e8da0023827644f3e3ef0
BLAKE2b-256 5207993af042b2c736369ce8285f70dbdc0750822d8906a2ccd44b11109d2f66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf2140b7dbb1310b322e71849cbc4f16250d2fb4971c365997f662125fb43dae
MD5 fac452da9593d252684d8615ddaa27e3
BLAKE2b-256 75c93fa48cd99edfe3e969d74d94c901c2a934045a2d87c4b8d1267f62e6bd38

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