apsg 1.2.3__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. apsg-1.3.1/.editorconfig +21 -0
  2. apsg-1.3.1/.gitattributes +25 -0
  3. apsg-1.3.1/.github/dependabot.yml +6 -0
  4. apsg-1.3.1/.github/workflows/release.yml +32 -0
  5. apsg-1.3.1/.github/workflows/testing.yml +36 -0
  6. apsg-1.3.1/.gitignore +55 -0
  7. apsg-1.3.1/.pre-commit-config.yaml +40 -0
  8. apsg-1.3.1/.readthedocs.yaml +16 -0
  9. apsg-1.2.3/HISTORY.md → apsg-1.3.1/CHANGELOG.md +13 -3
  10. {apsg-1.2.3 → apsg-1.3.1}/CONTRIBUTING.md +0 -1
  11. {apsg-1.2.3 → apsg-1.3.1}/LICENSE +2 -1
  12. apsg-1.3.1/PKG-INFO +187 -0
  13. apsg-1.3.1/README.md +118 -0
  14. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.database.rst +27 -23
  15. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.helpers.rst +0 -1
  16. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.math.rst +0 -1
  17. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.pandas.rst +0 -1
  18. {apsg-1.2.3 → apsg-1.3.1}/docs/authors.rst +1 -1
  19. {apsg-1.2.3 → apsg-1.3.1}/docs/conf.py +3 -4
  20. apsg-1.3.1/docs/notebooks/01_apsg_basics.ipynb +1815 -0
  21. apsg-1.3.1/docs/notebooks/02_apsg_tensors.ipynb +1074 -0
  22. apsg-1.3.1/docs/notebooks/03_apsg_stereonet.ipynb +495 -0
  23. apsg-1.3.1/docs/notebooks/04_apsg_fabricplots.ipynb +387 -0
  24. apsg-1.3.1/docs/notebooks/05_apsg_pandas.ipynb +912 -0
  25. apsg-1.3.1/docs/notebooks/06_apsg_various.ipynb +495 -0
  26. apsg-1.3.1/docs/notebooks/mele.csv +95 -0
  27. apsg-1.3.1/docs/notebooks/rerender_notebooks.sh +8 -0
  28. apsg-1.3.1/docs/notebooks/structures.csv +254 -0
  29. apsg-1.3.1/docs/requirements.txt +8 -0
  30. {apsg-1.2.3 → apsg-1.3.1}/docs/tutorials.rst +1 -2
  31. apsg-1.3.1/environment-dev.yml +12 -0
  32. apsg-1.3.1/pyproject.toml +71 -0
  33. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/__init__.py +1 -1
  34. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/database/_alchemy.py +92 -52
  35. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_tensor2.py +45 -7
  36. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_tensor3.py +62 -12
  37. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/math/_matrix.py +20 -19
  38. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/pandas/_pandas_api.py +24 -30
  39. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_fabricplot.py +0 -5
  40. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_roseplot.py +0 -1
  41. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_stereogrid.py +4 -6
  42. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_stereonet.py +4 -6
  43. {apsg-1.2.3 → apsg-1.3.1}/tests/test_apsg.py +2 -2
  44. apsg-1.2.3/AUTHORS.md +0 -9
  45. apsg-1.2.3/MANIFEST.in +0 -11
  46. apsg-1.2.3/PKG-INFO +0 -439
  47. apsg-1.2.3/README.md +0 -101
  48. apsg-1.2.3/pyproject.toml +0 -12
  49. apsg-1.2.3/setup.cfg +0 -21
  50. apsg-1.2.3/setup.py +0 -55
  51. apsg-1.2.3/src/apsg.egg-info/PKG-INFO +0 -439
  52. apsg-1.2.3/src/apsg.egg-info/SOURCES.txt +0 -66
  53. apsg-1.2.3/src/apsg.egg-info/dependency_links.txt +0 -1
  54. apsg-1.2.3/src/apsg.egg-info/entry_points.txt +0 -2
  55. apsg-1.2.3/src/apsg.egg-info/requires.txt +0 -17
  56. apsg-1.2.3/src/apsg.egg-info/top_level.txt +0 -1
  57. {apsg-1.2.3 → apsg-1.3.1}/docs/Makefile +0 -0
  58. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.feature.rst +0 -0
  59. {apsg-1.2.3 → apsg-1.3.1}/docs/apsg.plotting.rst +0 -0
  60. {apsg-1.2.3 → apsg-1.3.1}/docs/automodules.rst +0 -0
  61. {apsg-1.2.3 → apsg-1.3.1}/docs/contributing.rst +0 -0
  62. {apsg-1.2.3 → apsg-1.3.1}/docs/index.rst +0 -0
  63. {apsg-1.2.3 → apsg-1.3.1}/docs/installation.rst +0 -0
  64. {apsg-1.2.3 → apsg-1.3.1}/docs/make.bat +0 -0
  65. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/config.py +0 -0
  66. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/database/__init__.py +0 -0
  67. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/database/_sdbread.py +0 -0
  68. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/decorator/__init__.py +0 -0
  69. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/decorator/_decorator.py +0 -0
  70. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/__init__.py +0 -0
  71. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_container.py +0 -0
  72. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_geodata.py +0 -0
  73. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_paleomag.py +0 -0
  74. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/feature/_statistics.py +0 -0
  75. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/helpers/__init__.py +0 -0
  76. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/helpers/_helper.py +0 -0
  77. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/helpers/_math.py +0 -0
  78. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/helpers/_notation.py +0 -0
  79. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/math/__init__.py +0 -0
  80. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/math/_vector.py +0 -0
  81. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/pandas/__init__.py +0 -0
  82. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/__init__.py +0 -0
  83. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_paleomagplots.py +0 -0
  84. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_plot_artists.py +0 -0
  85. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/plotting/_projection.py +0 -0
  86. {apsg-1.2.3 → apsg-1.3.1}/src/apsg/shell.py +0 -0
  87. {apsg-1.2.3 → apsg-1.3.1}/tests/__init__.py +0 -0
  88. {apsg-1.2.3 → apsg-1.3.1}/tests/conftest.py +0 -0
  89. {apsg-1.2.3 → apsg-1.3.1}/tests/test_tensors.py +0 -0
@@ -0,0 +1,21 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 4
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+ end_of_line = lf
12
+
13
+ [*.bat]
14
+ indent_style = tab
15
+ end_of_line = crlf
16
+
17
+ [LICENSE]
18
+ insert_final_newline = false
19
+
20
+ [Makefile]
21
+ indent_style = tab
@@ -0,0 +1,25 @@
1
+ # Basic .gitattributes for a python repo.
2
+
3
+ # Source files
4
+ # ============
5
+ *.pxd text
6
+ *.py text
7
+ *.py3 text
8
+ *.pyw text
9
+ *.pyx text
10
+
11
+ # Binary files
12
+ # ============
13
+ *.db binary
14
+ *.p binary
15
+ *.pkl binary
16
+ *.pyc binary
17
+ *.pyd binary
18
+ *.pyo binary
19
+
20
+ # Note: .db, .p, and .pkl files are associated
21
+ # with the python modules ``pickle``, ``dbm.*``,
22
+ # ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
23
+ # (among others).
24
+
25
+ .ipynb linguist-generated=true
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "monthly"
@@ -0,0 +1,32 @@
1
+ name: PyPi Publisher
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ pypi-publisher:
9
+ runs-on: ubuntu-latest
10
+ environment:
11
+ name: pypi
12
+ url: https://pypi.org/a/apsg
13
+
14
+ permissions:
15
+ id-token: write # IMPORTANT: mandatory for trusted publishing
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ with:
20
+ persist-credentials: false
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: "3.x"
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install build
29
+ - name: Build package
30
+ run: python -m build
31
+ - name: Publish distribution 📦 to PyPI
32
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,36 @@
1
+ name: Python testing
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+ name: Testing on ${{matrix.os}}
12
+ runs-on: ${{matrix.os}}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ python-version: ["3.10", "3.11", "3.12"]
17
+
18
+ steps:
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v4
21
+ with:
22
+ # setuptools_scm requires a non-shallow clone of the repository
23
+ fetch-depth: 0
24
+
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+
30
+ - name: Install Python package
31
+ run: |
32
+ python -m pip install .[tests]
33
+
34
+ - name: Run Python tests
35
+ run: |
36
+ python -m pytest
apsg-1.3.1/.gitignore ADDED
@@ -0,0 +1,55 @@
1
+ *.py[cod]
2
+
3
+ # C extensions
4
+ *.so
5
+
6
+ # Packages
7
+ *.egg
8
+ *.eggs
9
+ *.egg-info
10
+ dist
11
+ build
12
+ eggs
13
+ parts
14
+ bin
15
+ var
16
+ sdist
17
+ develop-eggs
18
+ .installed.cfg
19
+ lib
20
+ lib64
21
+
22
+ # Installer logs
23
+ pip-log.txt
24
+
25
+ # Unit test / coverage reports
26
+ .coverage
27
+ .tox
28
+ nosetests.xml
29
+ htmlcov
30
+
31
+ # Translations
32
+ *.mo
33
+
34
+ # Mr Developer
35
+ .mr.developer.cfg
36
+ .project
37
+ .pydevproject
38
+
39
+ # Complexity
40
+ output/*.html
41
+ output/*/index.html
42
+
43
+ # Sphinx
44
+ docs/_build
45
+
46
+ .ipynb_checkpoints/
47
+ docs/notebooks/.ipynb_checkpoints/
48
+
49
+ # gedit backups
50
+ *~
51
+
52
+ .pytest_cache/
53
+
54
+ # virtual environment
55
+ .venv
@@ -0,0 +1,40 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
+ hooks:
5
+ - id: check-case-conflict
6
+ - id: check-docstring-first
7
+ - id: check-illegal-windows-names
8
+ - id: check-merge-conflict
9
+ - id: check-toml
10
+ - id: check-yaml
11
+ - id: end-of-file-fixer
12
+ - id: trailing-whitespace
13
+
14
+ - repo: https://github.com/psf/black-pre-commit-mirror
15
+ rev: 24.8.0
16
+ hooks:
17
+ - id: black
18
+ args: [--line-length=88]
19
+ exclude: ^(.venv/|docs/)
20
+ types: ["python"]
21
+
22
+ - repo: https://github.com/PyCQA/flake8
23
+ rev: 7.1.1
24
+ hooks:
25
+ - id: flake8
26
+ args:
27
+ - --max-line-length=88
28
+ - --ignore=F401,E501,W503,E731,E743,E741,E203
29
+ exclude: ^(.venv/|docs/)
30
+ types: ["python"]
31
+
32
+ - repo: local
33
+ hooks:
34
+ - id: pytest
35
+ name: pytest
36
+ entry: ./.venv/bin/pytest
37
+ language: system
38
+ types: [python]
39
+ pass_filenames: false
40
+ always_run: true
@@ -0,0 +1,16 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.11"
7
+
8
+ sphinx:
9
+ configuration: docs/conf.py
10
+
11
+ formats: all
12
+
13
+ python:
14
+ install:
15
+ - method: pip
16
+ path: .[docs]
@@ -1,4 +1,14 @@
1
- # Changes
1
+ # Changelog
2
+
3
+ ### 1.3.1 (Feb 28 2025)
4
+ * SQLAlchemy interface to sdb updated
5
+ * matplotlib 3.9 minimum version
6
+ * collections clipping bug fixed
7
+
8
+ ## 1.3.0 (Dec 14 2024)
9
+ * Python 3.10 set as minimal version
10
+ * Tensor3 eigenlins and eigenfols implemented as methods
11
+ * pandas accessors G property returns apsg FeatureSet
2
12
 
3
13
  ### 1.2.3 (Nov 18 2024)
4
14
  * ClusterSet accepts PairSet and FaultSet
@@ -11,7 +21,7 @@
11
21
  ### 1.2.1 (Sep 23 2024)
12
22
  * Fault sense could be defined by str, one of 's', 'd', 'n' and 'r'
13
23
 
14
- ### 1.2.0 (May 24 2024)
24
+ ## 1.2.0 (May 24 2024)
15
25
  * sqlalchemy and pandas added to requirements
16
26
  * quicknet fault bug fixed
17
27
 
@@ -49,7 +59,7 @@ See documentation and Pandas interface tutorial for further details.
49
59
  * density_lookup method implemented for StereoNet.grid
50
60
  * Stress tensor sigma* properties using inverted order of eigenvalues
51
61
  * render2fig method of StereoNet implemented
52
- * vector-like objects are not iterable, so properly render in pandas
62
+ * vector-like objects are not iterable, so properly render in pandas
53
63
 
54
64
  ## 1.0.0 (Oct 7 2022)
55
65
  New major release
@@ -89,4 +89,3 @@ Before you submit a pull request, check that it meets these guidelines:
89
89
  3. The pull request should work for Python 2.7, 3.5, and 3.6.
90
90
  Check [https://travis-ci.org/ondrolexa/apsg/pull_requests](https://travis-ci.org/ondrolexa/apsg/pull_requests)
91
91
  and make sure that the tests pass for all supported Python versions.
92
-
@@ -1,6 +1,7 @@
1
1
  MIT License
2
2
 
3
- APSG - python package for structural geologists Copyright (c) 2015, Ondrej Lexa
3
+ APSG - The package for structural geologists.
4
+ Copyright (c) 2015-2024, Ondrej Lexa
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
apsg-1.3.1/PKG-INFO ADDED
@@ -0,0 +1,187 @@
1
+ Metadata-Version: 2.4
2
+ Name: apsg
3
+ Version: 1.3.1
4
+ Summary: APSG - The package for structural geologists
5
+ Project-URL: Homepage, https://github.com/ondrolexa/apsg
6
+ Project-URL: Documentation, https://apsg.readthedocs.io
7
+ Project-URL: Repository, https://github.com/ondrolexa/apsg.git
8
+ Project-URL: Issues, https://github.com/ondrolexa/apsg/issues
9
+ Project-URL: Changelog, https://github.com/ondrolexa/apsg/blob/master/CHANGELOG.md
10
+ Author-email: Ondrej Lexa <lexa.ondrej@gmail.com>
11
+ Maintainer-email: Ondrej Lexa <lexa.ondrej@gmail.com>
12
+ License: MIT License
13
+
14
+ APSG - The package for structural geologists.
15
+ Copyright (c) 2015-2024, Ondrej Lexa
16
+
17
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18
+ of this software and associated documentation files (the "Software"), to deal
19
+ in the Software without restriction, including without limitation the rights
20
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21
+ copies of the Software, and to permit persons to whom the Software is
22
+ furnished to do so, subject to the following conditions:
23
+
24
+ The above copyright notice and this permission notice shall be included in all
25
+ copies or substantial portions of the Software.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
33
+ SOFTWARE.
34
+ License-File: LICENSE
35
+ Keywords: orientation data,stereonet,structural geology
36
+ Classifier: Development Status :: 4 - Beta
37
+ Classifier: Intended Audience :: Science/Research
38
+ Classifier: License :: OSI Approved :: MIT License
39
+ Classifier: Operating System :: OS Independent
40
+ Classifier: Programming Language :: Python :: 3
41
+ Requires-Python: >=3.10
42
+ Requires-Dist: matplotlib>=3.9
43
+ Requires-Dist: numpy
44
+ Requires-Dist: pandas
45
+ Requires-Dist: scipy
46
+ Requires-Dist: sqlalchemy
47
+ Provides-Extra: dev
48
+ Requires-Dist: autodocsumm; extra == 'dev'
49
+ Requires-Dist: black; extra == 'dev'
50
+ Requires-Dist: ipykernel; extra == 'dev'
51
+ Requires-Dist: nbsphinx; extra == 'dev'
52
+ Requires-Dist: pytest; extra == 'dev'
53
+ Requires-Dist: readthedocs-sphinx-search; extra == 'dev'
54
+ Requires-Dist: sphinx; extra == 'dev'
55
+ Requires-Dist: sphinx-rtd-theme; extra == 'dev'
56
+ Provides-Extra: docs
57
+ Requires-Dist: autodocsumm; extra == 'docs'
58
+ Requires-Dist: ipykernel; extra == 'docs'
59
+ Requires-Dist: nbsphinx; extra == 'docs'
60
+ Requires-Dist: readthedocs-sphinx-search; extra == 'docs'
61
+ Requires-Dist: sphinx; extra == 'docs'
62
+ Requires-Dist: sphinx-rtd-theme; extra == 'docs'
63
+ Provides-Extra: extra
64
+ Requires-Dist: jupyterlab; extra == 'extra'
65
+ Requires-Dist: pyqt5; extra == 'extra'
66
+ Provides-Extra: tests
67
+ Requires-Dist: pytest; extra == 'tests'
68
+ Description-Content-Type: text/markdown
69
+
70
+ <img src="https://ondrolexa.github.io/apsg/apsg_banner.svg" alt="APSG logo" width="300px"/>
71
+
72
+ [![PyPI - Version](https://img.shields.io/pypi/v/apsg)](https://pypi.org/project/apsg)
73
+ [![Conda](https://img.shields.io/conda/v/conda-forge/apsg)](https://anaconda.org/conda-forge/apsg)
74
+ [![Documentation Status](https://readthedocs.org/projects/apsg/badge/?version=stable)](https://apsg.readthedocs.io/en/stable/?badge=stable)
75
+ [![DOI](https://zenodo.org/badge/24879346.svg)](https://zenodo.org/badge/latestdoi/24879346)
76
+
77
+ ## :thinking: What is APSG?
78
+
79
+ APSG is the package for structural geologists. It defines several new python classes to easily manage, analyze and visualize orientational structural geology data.
80
+
81
+ > [!IMPORTANT]
82
+ > APSG has been significantly refactored from version 1.0 and several changes are
83
+ > breaking backward compatibility. The main APSG namespace provides often-used
84
+ > classes in lowercase names as aliases to `PascalCase` convention used in
85
+ > modules to provide a simplified interface for users. The `PascalCase` names of
86
+ > classes use longer and plain English names instead acronyms for better readability.
87
+ >
88
+ > Check [documentation](https://apsg.readthedocs.org) for more details.
89
+
90
+ ## :hammer_and_wrench: Requirements
91
+
92
+ You need Python 3.9 or later to run APSG. The package requires [NumPy](https://numpy.org/) and [SciPy](https://www.scipy.org/),
93
+ [Matplotlib](https://matplotlib.org/), [SciPy](https://scipy.org/), [SQLAlchemy](https://www.sqlalchemy.org/)
94
+ and [pandas](https://pandas.pydata.org/).
95
+
96
+ ## :rocket: How to install
97
+
98
+ It is strongly suggested to install **apsg** into separate environment. You can create
99
+ Python virtual environment. For Linux and macOS use:
100
+
101
+ python -m venv .venv
102
+ source .venv/bin/activate
103
+
104
+ for Windows use Command Prompt or PowerShell:
105
+
106
+ python -m venv .venv
107
+ .venv\Scripts\activate
108
+
109
+ > [!NOTE]
110
+ > On Microsoft Windows, it may be required to set the execution policy in PowerShell for the user.
111
+ > You can do this by issuing the following PowerShell command:
112
+ > ```
113
+ > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
114
+ > ```
115
+
116
+ and install latest stable version of **apsg** using pip within the environment:
117
+
118
+ pip install apsg
119
+
120
+ To include jupyterlab and pyqt5 in installation, use `extra` option:
121
+
122
+ ## I'm using conda or mamba to manage environments
123
+
124
+ pip install apsg[extra]
125
+
126
+ or install **master** with:
127
+
128
+ pip install git+https://github.com/ondrolexa/apsg.git
129
+
130
+ Alternatively, you can clone the repository and do a local install (recommended for dev):
131
+ git clone https://github.com/ondrolexa/apsg.git
132
+ cd apsg
133
+ pip install -e .[dev]
134
+
135
+ #### Upgrading via pip
136
+
137
+ To upgrade an existing version of APSG from PyPI, execute:
138
+
139
+ pip install apsg --upgrade --no-deps
140
+
141
+ #### Comments on system-wide instalations on Debian systems
142
+
143
+ Latest Debian-based systems does not allow to install non-debian packages system-wide.
144
+ However, installing all requirements allows to force install APSG system-wide without troubles.
145
+
146
+ Install requirements using apt:
147
+
148
+ sudo apt install python3-numpy python3-matplotlib python3-scipy python3-sqlalchemy python3-pandas
149
+
150
+ and then install apsg using pip:
151
+
152
+ pip install --break-system-packages apsg
153
+
154
+ ### I'm using conda or mamba to manage environments
155
+
156
+ If you have already have conda or mamba installed, you can create environment with:
157
+
158
+ conda config --add channels conda-forge
159
+ conda create -n apsg python apsg jupyterlab pyqt
160
+
161
+ or using mamba
162
+
163
+ mamba create -n apsg python apsg jupyterlab pyqt
164
+
165
+ #### Current release info
166
+
167
+ | Name | Downloads | Version | Platforms |
168
+ | --- | --- | --- | --- |
169
+ | [![Conda Recipe](https://img.shields.io/badge/recipe-apsg-green.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) |
170
+
171
+ ## :blue_book: Documentation
172
+
173
+ Explore all the features of APSG. You can find detailed documentation [here](https://apsg.readthedocs.org).
174
+
175
+ ## :computer: Contributing
176
+
177
+ Most discussion happens on [Github](https://github.com/ondrolexa/apsg). Feel free to open [an issue](https://github.com/ondrolexa/apsg/issues/new) or comment on any open issue or pull request. Check ``CONTRIBUTING.md`` for more details.
178
+
179
+ ## :coin: Donate
180
+
181
+ APSG is an open-source project, available for you for free. It took a lot of time and resources to build this software. If you find this software useful and want to support its future development please consider donating me.
182
+
183
+ [![Donate via PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QTYZWVUNDUAH8&item_name=APSG+development+donation&currency_code=EUR&source=url)
184
+
185
+ ## License
186
+
187
+ APSG is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided in ``LICENSE`` file.
apsg-1.3.1/README.md ADDED
@@ -0,0 +1,118 @@
1
+ <img src="https://ondrolexa.github.io/apsg/apsg_banner.svg" alt="APSG logo" width="300px"/>
2
+
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/apsg)](https://pypi.org/project/apsg)
4
+ [![Conda](https://img.shields.io/conda/v/conda-forge/apsg)](https://anaconda.org/conda-forge/apsg)
5
+ [![Documentation Status](https://readthedocs.org/projects/apsg/badge/?version=stable)](https://apsg.readthedocs.io/en/stable/?badge=stable)
6
+ [![DOI](https://zenodo.org/badge/24879346.svg)](https://zenodo.org/badge/latestdoi/24879346)
7
+
8
+ ## :thinking: What is APSG?
9
+
10
+ APSG is the package for structural geologists. It defines several new python classes to easily manage, analyze and visualize orientational structural geology data.
11
+
12
+ > [!IMPORTANT]
13
+ > APSG has been significantly refactored from version 1.0 and several changes are
14
+ > breaking backward compatibility. The main APSG namespace provides often-used
15
+ > classes in lowercase names as aliases to `PascalCase` convention used in
16
+ > modules to provide a simplified interface for users. The `PascalCase` names of
17
+ > classes use longer and plain English names instead acronyms for better readability.
18
+ >
19
+ > Check [documentation](https://apsg.readthedocs.org) for more details.
20
+
21
+ ## :hammer_and_wrench: Requirements
22
+
23
+ You need Python 3.9 or later to run APSG. The package requires [NumPy](https://numpy.org/) and [SciPy](https://www.scipy.org/),
24
+ [Matplotlib](https://matplotlib.org/), [SciPy](https://scipy.org/), [SQLAlchemy](https://www.sqlalchemy.org/)
25
+ and [pandas](https://pandas.pydata.org/).
26
+
27
+ ## :rocket: How to install
28
+
29
+ It is strongly suggested to install **apsg** into separate environment. You can create
30
+ Python virtual environment. For Linux and macOS use:
31
+
32
+ python -m venv .venv
33
+ source .venv/bin/activate
34
+
35
+ for Windows use Command Prompt or PowerShell:
36
+
37
+ python -m venv .venv
38
+ .venv\Scripts\activate
39
+
40
+ > [!NOTE]
41
+ > On Microsoft Windows, it may be required to set the execution policy in PowerShell for the user.
42
+ > You can do this by issuing the following PowerShell command:
43
+ > ```
44
+ > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
45
+ > ```
46
+
47
+ and install latest stable version of **apsg** using pip within the environment:
48
+
49
+ pip install apsg
50
+
51
+ To include jupyterlab and pyqt5 in installation, use `extra` option:
52
+
53
+ ## I'm using conda or mamba to manage environments
54
+
55
+ pip install apsg[extra]
56
+
57
+ or install **master** with:
58
+
59
+ pip install git+https://github.com/ondrolexa/apsg.git
60
+
61
+ Alternatively, you can clone the repository and do a local install (recommended for dev):
62
+ git clone https://github.com/ondrolexa/apsg.git
63
+ cd apsg
64
+ pip install -e .[dev]
65
+
66
+ #### Upgrading via pip
67
+
68
+ To upgrade an existing version of APSG from PyPI, execute:
69
+
70
+ pip install apsg --upgrade --no-deps
71
+
72
+ #### Comments on system-wide instalations on Debian systems
73
+
74
+ Latest Debian-based systems does not allow to install non-debian packages system-wide.
75
+ However, installing all requirements allows to force install APSG system-wide without troubles.
76
+
77
+ Install requirements using apt:
78
+
79
+ sudo apt install python3-numpy python3-matplotlib python3-scipy python3-sqlalchemy python3-pandas
80
+
81
+ and then install apsg using pip:
82
+
83
+ pip install --break-system-packages apsg
84
+
85
+ ### I'm using conda or mamba to manage environments
86
+
87
+ If you have already have conda or mamba installed, you can create environment with:
88
+
89
+ conda config --add channels conda-forge
90
+ conda create -n apsg python apsg jupyterlab pyqt
91
+
92
+ or using mamba
93
+
94
+ mamba create -n apsg python apsg jupyterlab pyqt
95
+
96
+ #### Current release info
97
+
98
+ | Name | Downloads | Version | Platforms |
99
+ | --- | --- | --- | --- |
100
+ | [![Conda Recipe](https://img.shields.io/badge/recipe-apsg-green.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/apsg.svg)](https://anaconda.org/conda-forge/apsg) |
101
+
102
+ ## :blue_book: Documentation
103
+
104
+ Explore all the features of APSG. You can find detailed documentation [here](https://apsg.readthedocs.org).
105
+
106
+ ## :computer: Contributing
107
+
108
+ Most discussion happens on [Github](https://github.com/ondrolexa/apsg). Feel free to open [an issue](https://github.com/ondrolexa/apsg/issues/new) or comment on any open issue or pull request. Check ``CONTRIBUTING.md`` for more details.
109
+
110
+ ## :coin: Donate
111
+
112
+ APSG is an open-source project, available for you for free. It took a lot of time and resources to build this software. If you find this software useful and want to support its future development please consider donating me.
113
+
114
+ [![Donate via PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QTYZWVUNDUAH8&item_name=APSG+development+donation&currency_code=EUR&source=url)
115
+
116
+ ## License
117
+
118
+ APSG is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided in ``LICENSE`` file.