drillcore-transformations

Drillcore Transformations allows for alpha, beta and gamma drillcore structural measurement transformations.

https://github.com/nialov/drillcore-transformations

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Drillcore Transformations allows for alpha, beta and gamma drillcore structural measurement transformations.

Basic Info
  • Host: GitHub
  • Owner: nialov
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 828 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • Open Issues: 2
  • Releases: 1
Created about 6 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog License Citation

README.rst

Drillcore Transformations
=========================

|Documentation Status| |PyPI Status| |CI Test| |Coverage|

Features
--------

-  Transforms measurements from drillcores.
-  Supports alpha, beta and gamma measurements.
-  Supports .csv and .xlsx files.
-  Supports adding the column names of your data files to a custom-built
   config.ini file for each user.
-  TODO: Convention support
-  Currently supported convention explanation found in `Documentation
   and Help `__
-  **Documentation and Help**:
   https://drillcore-transformations.readthedocs.io.

Running tests
-------------

To run pytest in currently installed environment:

.. code:: bash

   poetry run pytest

To run full extensive test suite:

.. code:: bash

   poetry run doit
   # Add -n  to execute tasks in parallel
   # E.g.
   poetry run doit -n 8 -v 0
   # -v 0 is added to limit verbosity to mininum (optional)
   # doit makes sure tasks are run in the correct order
   # E.g. if a task uses a requirements.txt file that other task produces
   # the producer is run first even with parallel execution

Formatting and linting
----------------------


Formatting & linting:

.. code:: bash

   poetry run doit pre_commit
   poetry run doit lint

Building docs
-------------

Docs can be built locally to test that ``ReadTheDocs`` can also build
them:

.. code:: bash

   poetry run doit docs

doit usage
----------

To list all available commands from ``dodo.py``:

.. code:: bash

   poetry run doit list

Development
~~~~~~~~~~~

Development dependencies for ``drillcore_transformations`` include:

-  ``poetry``

   -  Used to handle Python package dependencies.

   .. code:: bash

      # Use poetry run to execute poetry installed cli tools such as invoke,
      # nox and pytest.
      poetry run 


-  ``doit``

   -  A general task executor that is a replacement for a ``Makefile``
   -  Understands task dependencies and can run tasks in parallel
      even while running them in the order determined from dependencies
      between tasks. E.g. requirements.txt is a requirement for running
      tests and therefore the task creating requirements.txt will always
      run before the test task.

   .. code:: bash

      # Tasks are defined in dodo.py
      # To list doit tasks from command line
      poetry run doit list
      # To run all tasks in parallel (recommended before pushing and/or
      # committing)
      # 8 is the number of cpu cores, change as wanted
      # -v 0 sets verbosity to very low. (Errors will always still be printed.)
      poetry run doit -n 8 -v 0

-  ``nox``

   -  ``nox`` is a replacement for ``tox``. Both are made to create
      reproducible Python environments for testing, making docs locally, etc.

   .. code:: bash

      # To list available nox sessions
      # Sessions are defined in noxfile.py
      poetry run nox --list

-  ``copier``

   -  ``copier`` is a project templater. Many Python projects follow a similar
      framework for testing, creating documentations and overall placement of
      files and configuration. ``copier`` allows creating a template project
      (e.g. https://github.com/nialov/nialov-py-template) which can be firstly
      cloned as the framework for your own package and secondly to pull updates
      from the template to your already started project.

   .. code:: bash

      # To pull copier update from github/nialov/nialov-py-template
      poetry run copier update


-  ``pytest``

   -  ``pytest`` is a Python test runner. It is used to run defined tests to
      check that the package executes as expected. The defined tests in
      ``./tests`` contain many regression tests (done with
      ``pytest-regressions``) that make it almost impossible
      to add features to ``drillcore_transformations`` that changes the results of functions
      and methods.

   .. code:: bash

      # To run tests implemented in ./tests directory and as doctests
      # within project itself:
      poetry run pytest


-  ``coverage``

   .. code:: bash

      # To check coverage of tests
      # (Implemented as nox session!)
      poetry run nox --session test_pip

-  ``sphinx``

   -  Creates documentation from files in ``./docs_src``.

   .. code:: bash

      # To create documentation
      # (Implemented as nox session!)
      poetry run nox --session docs

Big thanks to all maintainers of the above packages!

Credits
-------

-  PhD Jussi Mattila for tips, code snippets and sample materials.
-  Authors of `Orientation uncertainty goes
   bananas `__ for great article and
   complementary excel-file.

License
~~~~~~~

Copyright © 2020, Nikolas Ovaskainen.

-----


.. |Documentation Status| image:: https://readthedocs.org/projects/drillcore-transformations/badge/?version=latest
   :target: https://drillcore-transformations.readthedocs.io/en/latest/?badge=latest
.. |PyPI Status| image:: https://img.shields.io/pypi/v/drillcore-transformations.svg
   :target: https://pypi.python.org/pypi/drillcore-transformations
.. |CI Test| image:: https://github.com/nialov/drillcore-transformations/workflows/test-and-publish/badge.svg
   :target: https://github.com/nialov/drillcore-transformations/actions/workflows/test-and-publish.yaml?query=branch%3Amaster
.. |Coverage| image:: https://raw.githubusercontent.com/nialov/drillcore-transformations/master/docs_src/imgs/coverage.svg
   :target: https://github.com/nialov/drillcore-transformations/blob/master/docs_src/imgs/coverage.svg

Owner

  • Name: Nikolas Ovaskainen
  • Login: nialov
  • Kind: user
  • Location: Turku, Finland
  • Company: MSc, Geology

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:

- family-names: Ovaskainen
  given-names: Nikolas
title: "drillcore-transformations"
version: "0.2.6.post9.dev0+a7d935e"
date-released: "2022-09-02"
keywords:
  - python
  - data
contact:
  - email: "nikolasovaskainen@gmail.com"
url: "https://github.com/nialov/drillcore-transformations"
repository-code: "https://github.com/nialov/drillcore-transformations"

GitHub Events

Total
Last Year

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 140
  • Total Committers: 3
  • Avg Commits per committer: 46.667
  • Development Distribution Score (DDS): 0.121
Top Committers
Name Email Commits
nialov n****n@h****m 123
nialov n****n@g****m 12
pyup-bot g****t@p****o 5
Committer Domains (Top 20 + Academic)
pyup.io: 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 86
  • Average time to close issues: N/A
  • Average time to close pull requests: 30 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.59
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 34
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • pyup-bot (52)
  • dependabot[bot] (34)
Top Labels
Issue Labels
Pull Request Labels
dependencies (34)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 29 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 4
  • Total maintainers: 1
pypi.org: drillcore-transformations

Transform structural drillcore measurements.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 20 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 21.6%
Average: 26.8%
Stargazers count: 27.9%
Forks count: 29.8%
Downloads: 44.5%
Maintainers (1)
Last synced: 8 months ago
pypi.org: drillcore-transformations-py

Drillcore Transformations allows for alpha, beta and gamma drillcore transformations.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 9 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 21.6%
Stargazers count: 27.9%
Forks count: 29.8%
Average: 30.2%
Downloads: 61.5%
Maintainers (1)
Last synced: 8 months ago

Dependencies

docs_src/requirements.txt pypi
  • alabaster ==0.7.12
  • anyio ==3.5.0
  • appnope ==0.1.3
  • argcomplete ==1.12.3
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • atomicwrites ==1.4.0
  • attrs ==21.4.0
  • babel ==2.9.1
  • backcall ==0.2.0
  • beautifulsoup4 ==4.11.1
  • bleach ==5.0.0
  • certifi ==2021.10.8
  • cffi ==1.15.0
  • cfgv ==3.3.1
  • charset-normalizer ==2.0.12
  • click ==8.1.2
  • cloudpickle ==2.0.0
  • colorama ==0.4.4
  • colorlog ==6.6.0
  • cycler ==0.11.0
  • debugpy ==1.6.0
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • distlib ==0.3.4
  • docutils ==0.17.1
  • doit ==0.34.2
  • entrypoints ==0.4
  • et-xmlfile ==1.1.0
  • fastjsonschema ==2.15.3
  • filelock ==3.6.0
  • fonttools ==4.32.0
  • hypothesis ==6.42.3
  • identify ==2.4.12
  • idna ==3.3
  • imagesize ==1.3.0
  • importlib-metadata ==4.11.3
  • importlib-resources ==5.6.0
  • iniconfig ==1.1.1
  • invoke ==1.7.0
  • ipykernel ==6.13.0
  • ipython ==7.32.0
  • ipython-genutils ==0.2.0
  • jedi ==0.18.1
  • jinja2 ==3.1.1
  • json5 ==0.9.6
  • jsonschema ==4.4.0
  • jupyter-client ==7.2.2
  • jupyter-core ==4.9.2
  • jupyter-server ==1.16.0
  • jupyterlab ==3.3.3
  • jupyterlab-pygments ==0.2.0
  • jupyterlab-server ==2.12.0
  • kiwisolver ==1.4.2
  • livereload ==2.6.3
  • macfsevents ==0.8.1
  • markupsafe ==2.1.1
  • matplotlib ==3.5.1
  • matplotlib-inline ==0.1.3
  • mistune ==0.8.4
  • nbclassic ==0.3.7
  • nbclient ==0.5.13
  • nbconvert ==6.5.0
  • nbformat ==5.3.0
  • nbsphinx ==0.8.8
  • nest-asyncio ==1.5.5
  • nodeenv ==1.6.0
  • notebook ==6.4.10
  • notebook-shim ==0.1.0
  • nox ==2022.1.7
  • numpy ==1.21.1
  • openpyxl ==3.0.9
  • packaging ==21.3
  • pandas ==1.3.5
  • pandocfilters ==1.5.0
  • parso ==0.8.3
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • pillow ==9.1.0
  • platformdirs ==2.5.1
  • pluggy ==1.0.0
  • pre-commit ==2.18.1
  • prometheus-client ==0.14.1
  • prompt-toolkit ==3.0.29
  • psutil ==5.9.0
  • ptyprocess ==0.7.0
  • py ==1.11.0
  • pycparser ==2.21
  • pygments ==2.11.2
  • pyinotify ==0.9.6
  • pyparsing ==3.0.8
  • pyrsistent ==0.18.1
  • pytest ==7.1.1
  • python-dateutil ==2.8.2
  • pytz ==2022.1
  • pywin32 ==303
  • pywinpty ==2.0.5
  • pyyaml ==6.0
  • pyzmq ==22.3.0
  • requests ==2.27.1
  • send2trash ==1.8.0
  • setuptools-scm ==6.4.2
  • six ==1.16.0
  • sniffio ==1.2.0
  • snowballstemmer ==2.2.0
  • sortedcontainers ==2.4.0
  • soupsieve ==2.3.2
  • sphinx ==4.5.0
  • sphinx-autobuild ==2021.3.14
  • sphinx-autodoc-typehints ==1.17.0
  • sphinx-gallery ==0.10.1
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • terminado ==0.13.3
  • tinycss2 ==1.1.1
  • toml ==0.10.2
  • tomli ==2.0.1
  • tornado ==6.1
  • traitlets ==5.1.1
  • typing-extensions ==4.1.1
  • urllib3 ==1.26.9
  • virtualenv ==20.14.0
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • websocket-client ==1.3.2
  • xlrd ==2.0.1
  • zipp ==3.8.0
poetry.lock pypi
  • 145 dependencies
pyproject.toml pypi
  • doit * develop
  • hypothesis ^6.14.5 develop
  • invoke ^1.6.0 develop
  • ipython * develop
  • jupyterlab * develop
  • nox * develop
  • pre-commit * develop
  • pytest * develop
  • toml ^0.10.2 develop
  • click *
  • coverage ^5.0
  • coverage-badge *
  • matplotlib *
  • mypy *
  • nbsphinx *
  • numpy *
  • openpyxl *
  • pandas *
  • pylint *
  • python ^3.7.1
  • rstcheck *
  • sphinx *
  • sphinx-autobuild *
  • sphinx-autodoc-typehints *
  • sphinx-gallery *
  • sphinx-rtd-theme *
  • xlrd *
.github/workflows/test-and-publish-doit.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
  • softprops/action-gh-release v1 composite