StereonetForge: dependency-light stereonet plotter for planes (Dip/DipDir) with 1..N groups
Project description
StereonetForge
Author: Dr. Aram Fathian
Affiliation: Department of Earth, Energy, and Environment; Water, Sediment, Hazards, and Earth-surface Dynamics (waterSHED) Lab; University of Calgary
License: MIT
StereonetForge is a dependency-light stereonet plotter for planar geology data (e.g., Dip / Dip Direction).
It works with one or many groups (or no group column), computes mean planes, KDE pole-density rings, and optional intersection lines between mean planes.
How to cite
Fathian, A. (2025). StereonetForge (v0.2.1) [Software]. Zenodo. https://doi.org/10.5281/zenodo.17140123
Install
Option A — from GitHub (recommended until on PyPI)
python -m pip install "git+https://github.com/aramfathian/StereonetForge.git@main"
Option B — from a numbered tag
python -m pip install "git+https://github.com/aramfathian/StereonetForge.git@v0.2.1"
# If you see "did not match any file(s) known to git", use the exact tag listed on the Releases page.
Option C — from the local folder
python -m pip install .
Once published to PyPI, users can do:
pip install stereonet-forge
Command Line
# Single group (no group column)
stereonet-plot examples_general/example_one_group.csv --out-prefix ex1
# With group column 'Set'
stereonet-plot examples_general/example_two_groups.csv --group-col Set --out-prefix ex2
# Only Strike + Dip (derive Dip Direction)
stereonet-plot examples_general/example_three_groups_strike.csv --group-col Group --dip-col Dip --out-prefix ex3
# Combined 'Dip/DipDir' column called Dip_DD
stereonet-plot examples_general/example_combined_column.csv --group-col Domain --out-prefix ex4
Options
--dip-col,--dipdir-col,--group-col(auto-detects if omitted; can parse combined "Dip/DipDir")--intersections none|auto|all|A|B,B|C--cmap tab10(colormap per group),--kde-bandwidth 0.09--figsize 10.5,10.5,--dpi 170
Library
from stereonet_forge import plot_stereonet_from_csv, Style
fig, ax = plot_stereonet_from_csv("my.csv", group_col="Face", out_prefix="myplot")
Development
- See CONTRIBUTING.md for guidelines.
- Typical build & publish:
python -m pip install --upgrade build twine
python -m build
twine check dist/*
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stereonetforge_plot-0.2.1.tar.gz.
File metadata
- Download URL: stereonetforge_plot-0.2.1.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b888259f136d55773ec2c84bbb883b21750a1747ba243e6e0f6badf252bfd925
|
|
| MD5 |
a8ca154a8fc417690aae167ce85fdb81
|
|
| BLAKE2b-256 |
127b3eb8414cb339547d46c4f46767c6cf1111e9d6da704f487358677c26023e
|
Provenance
The following attestation bundles were made for stereonetforge_plot-0.2.1.tar.gz:
Publisher:
publish.yml on aramfathian/StereonetForge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stereonetforge_plot-0.2.1.tar.gz -
Subject digest:
b888259f136d55773ec2c84bbb883b21750a1747ba243e6e0f6badf252bfd925 - Sigstore transparency entry: 528755226
- Sigstore integration time:
-
Permalink:
aramfathian/StereonetForge@e0fb707639a6228283a357e254c1bd18f7f8110a -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/aramfathian
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e0fb707639a6228283a357e254c1bd18f7f8110a -
Trigger Event:
push
-
Statement type:
File details
Details for the file stereonetforge_plot-0.2.1-py3-none-any.whl.
File metadata
- Download URL: stereonetforge_plot-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
689922ad1ef27ff3510c65f52268ad7a0b7deddec78f3a58432738305f91ee94
|
|
| MD5 |
18a33608a637cf0b6fa450646099d4e3
|
|
| BLAKE2b-256 |
f208710853676c4bb45378a82f3785b5669f82429612c3e2d56283e94d06b8c0
|
Provenance
The following attestation bundles were made for stereonetforge_plot-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on aramfathian/StereonetForge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stereonetforge_plot-0.2.1-py3-none-any.whl -
Subject digest:
689922ad1ef27ff3510c65f52268ad7a0b7deddec78f3a58432738305f91ee94 - Sigstore transparency entry: 528755244
- Sigstore integration time:
-
Permalink:
aramfathian/StereonetForge@e0fb707639a6228283a357e254c1bd18f7f8110a -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/aramfathian
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e0fb707639a6228283a357e254c1bd18f7f8110a -
Trigger Event:
push
-
Statement type: