PyOPIA


NamePyOPIA JSON
Version 1.1.3 PyPI version JSON
download
home_pagehttps://github.com/sintef/pyopia
SummaryA Python Ocean Particle Image Analysis toolbox.
upload_time2024-04-10 19:51:41
maintainerNone
docs_urlNone
authorEmlyn Davies
requires_python<3.11,>=3.10
licenseNone
keywords ocean particles imaging measurement size distribution
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PyOpia
===============================

A Python Ocean Particle Image Analysis toolbox

# Documentation:

[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pyopia.readthedocs.io) [![Documentation](https://readthedocs.org/projects/pyopia/badge/?version=latest)](https://pyopia.readthedocs.io/en/latest/?badge=latest)

[pyopia.readthedocs.io](https://pyopia.readthedocs.io)
# Current status:

- Under development. See/regester issues, [here](https://github.com/SINTEF/pyopia/issues)

----

# Installing for users

Users are expected to be familiar with Python, and have [Python](https://github.com/conda-forge/miniforge/#download), [pip](https://pypi.org/project/pip/). You can then install Pyopia like this:

```
pip install pyopia
```

We would usually recommend installing within a virtual python environment, which you can read more about [here](https://jni.github.io/using-python-for-science/intro-to-environments.html).

----
# Development targets for PyOpia:

1) Allow nonfamiliar users to install and use PyOpia, and to contribute & commit code changes
2) Not hardware specific
3) Smaller dependency list than PySilCam -Eventual optional dependencies (e.g. for classification)
4) Can be imported by pysilcam or other hardware-specific tools
5) Work on a single-image basis (...primarily, with options for multiprocess to be considered later)
6) No use of settings/config files within the core code - pass arguments directly. Eventual use of settings/config files should be handled by high-level wrappers that provide arguments to functions.
7) Github workflows
8) Tests

Normal functions within PyOpia should:

1) take inputs
2) return new outputs
3) don't modify state of input
4) minimum possible disc IO during processing

## Contributions

We welcome additions and improvements to the code! We request that you follow a few guidelines. These are in place to make sure the code improves over time.

1. All code changes must be submitted as pull requests, either from a branch or a fork.
2. Good documentation of the code is needed for PyOpia to succeed and so please include up-to-date docstrings as you make changes, so that the auto-build on readthedocs is complete and useful for users. (A version of the new docs will complie when you make a pull request and a link to this can be found in the pull request checks)
3. All pull requests are required to pass all tests before merging. Please do not disable or remove tests just to make your branch pass the pull request.
4. All pull requests must be reviewed by a person. The benefits from code review are plenty, but we like to emphasise that code reviews help spreading the awarenes of code changes. Please note that code reviews should be a pleasant experience, so be plesant, polite and remember that there is a human being with good intentions on the other side of the screen.
5. All contributions are linted with flake8. We recommend that you run flake8 on your code while developing to fix any issues as you go. We recommend using autopep8 to autoformat your Python code (but please check the code behaviour is not affected by autoformatting before pushing). This makes flake8 happy, and makes it easier for us all to maintain a consistent and readable code base.

## Installing from source for developers

Install [Python](https://github.com/conda-forge/miniforge/#download).

A prompt such as is provided by the [miniforge installation](https://github.com/conda-forge/miniforge/#download) may be used for the following:

1. Navigate to the folder where you want to install pyopia using the 'cd' command.

If you use git:
Download repository from github, and move into the new directory:

```bash
git clone https://github.com/SINTEF/pyopia.git
cd pyopia
```

If you do not want to use git, you can manually download the repository from github. To do so, click on the green "<> CODE button" (top right-hand side) and select "Download zip". Unzip the files into your target folder, and move into the new directory (note the foldername may contain the branch name, such as 'main').

```bash
cd pyopia-main
```

For the next steps, you need to be located in the directory that contains the file 'environment.yml'.

1. (optional, but recommended) Create a virtual environment using the environment.yml. This will create an environment called pyopia, but with no dependencies installed. Dependencies are managed by poetry (in step 2):

```bash
conda env create -f environment.yml
```
and activate the environment:

```bash
conda activate pyopia
```

2. Install dependencies using poetry:

```bash
poetry install
```

3. (optional) Run local tests:

```bash
poetry run pytest
```

## Build docs locally

```
sphinx-apidoc -f -o docs/source docs/build --separate

sphinx-build -b html ./docs/ ./docs/build
```

----
# License

PyOpia is licensed under the BSD3 license. See LICENSE. All contributors should be recognised & aknowledged.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sintef/pyopia",
    "name": "PyOPIA",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.11,>=3.10",
    "maintainer_email": null,
    "keywords": "Ocean, Particles, Imaging, Measurement, Size distribution",
    "author": "Emlyn Davies",
    "author_email": "emlyn.davies@sintef.no",
    "download_url": "https://files.pythonhosted.org/packages/c1/25/82948ad7ab9324d36f4a725582bc1791fb4186e49c9e92d6cadd86f18ecf/pyopia-1.1.3.tar.gz",
    "platform": null,
    "description": "PyOpia\n===============================\n\nA Python Ocean Particle Image Analysis toolbox\n\n# Documentation:\n\n[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pyopia.readthedocs.io) [![Documentation](https://readthedocs.org/projects/pyopia/badge/?version=latest)](https://pyopia.readthedocs.io/en/latest/?badge=latest)\n\n[pyopia.readthedocs.io](https://pyopia.readthedocs.io)\n# Current status:\n\n- Under development. See/regester issues, [here](https://github.com/SINTEF/pyopia/issues)\n\n----\n\n# Installing for users\n\nUsers are expected to be familiar with Python, and have [Python](https://github.com/conda-forge/miniforge/#download), [pip](https://pypi.org/project/pip/). You can then install Pyopia like this:\n\n```\npip install pyopia\n```\n\nWe would usually recommend installing within a virtual python environment, which you can read more about [here](https://jni.github.io/using-python-for-science/intro-to-environments.html).\n\n----\n# Development targets for PyOpia:\n\n1) Allow nonfamiliar users to install and use PyOpia, and to contribute & commit code changes\n2) Not hardware specific\n3) Smaller dependency list than PySilCam -Eventual optional dependencies (e.g. for classification)\n4) Can be imported by pysilcam or other hardware-specific tools\n5) Work on a single-image basis (...primarily, with options for multiprocess to be considered later)\n6) No use of settings/config files within the core code - pass arguments directly. Eventual use of settings/config files should be handled by high-level wrappers that provide arguments to functions.\n7) Github workflows\n8) Tests\n\nNormal functions within PyOpia should:\n\n1) take inputs\n2) return new outputs\n3) don't modify state of input\n4) minimum possible disc IO during processing\n\n## Contributions\n\nWe welcome additions and improvements to the code! We request that you follow a few guidelines. These are in place to make sure the code improves over time.\n\n1. All code changes must be submitted as pull requests, either from a branch or a fork.\n2. Good documentation of the code is needed for PyOpia to succeed and so please include up-to-date docstrings as you make changes, so that the auto-build on readthedocs is complete and useful for users. (A version of the new docs will complie when you make a pull request and a link to this can be found in the pull request checks)\n3. All pull requests are required to pass all tests before merging. Please do not disable or remove tests just to make your branch pass the pull request.\n4. All pull requests must be reviewed by a person. The benefits from code review are plenty, but we like to emphasise that code reviews help spreading the awarenes of code changes. Please note that code reviews should be a pleasant experience, so be plesant, polite and remember that there is a human being with good intentions on the other side of the screen.\n5. All contributions are linted with flake8. We recommend that you run flake8 on your code while developing to fix any issues as you go. We recommend using autopep8 to autoformat your Python code (but please check the code behaviour is not affected by autoformatting before pushing). This makes flake8 happy, and makes it easier for us all to maintain a consistent and readable code base.\n\n## Installing from source for developers\n\nInstall [Python](https://github.com/conda-forge/miniforge/#download).\n\nA prompt such as is provided by the [miniforge installation](https://github.com/conda-forge/miniforge/#download) may be used for the following:\n\n1. Navigate to the folder where you want to install pyopia using the 'cd' command.\n\nIf you use git:\nDownload repository from github, and move into the new directory:\n\n```bash\ngit clone https://github.com/SINTEF/pyopia.git\ncd pyopia\n```\n\nIf you do not want to use git, you can manually download the repository from github. To do so, click on the green \"<> CODE button\" (top right-hand side) and select \"Download zip\". Unzip the files into your target folder, and move into the new directory (note the foldername may contain the branch name, such as 'main').\n\n```bash\ncd pyopia-main\n```\n\nFor the next steps, you need to be located in the directory that contains the file 'environment.yml'.\n\n1. (optional, but recommended) Create a virtual environment using the environment.yml. This will create an environment called pyopia, but with no dependencies installed. Dependencies are managed by poetry (in step 2):\n\n```bash\nconda env create -f environment.yml\n```\nand activate the environment:\n\n```bash\nconda activate pyopia\n```\n\n2. Install dependencies using poetry:\n\n```bash\npoetry install\n```\n\n3. (optional) Run local tests:\n\n```bash\npoetry run pytest\n```\n\n## Build docs locally\n\n```\nsphinx-apidoc -f -o docs/source docs/build --separate\n\nsphinx-build -b html ./docs/ ./docs/build\n```\n\n----\n# License\n\nPyOpia is licensed under the BSD3 license. See LICENSE. All contributors should be recognised & aknowledged.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python Ocean Particle Image Analysis toolbox.",
    "version": "1.1.3",
    "project_urls": {
        "Documentation": "https://pyopia.readthedocs.io",
        "Homepage": "https://github.com/sintef/pyopia",
        "Repository": "https://github.com/sintef/pyopia"
    },
    "split_keywords": [
        "ocean",
        " particles",
        " imaging",
        " measurement",
        " size distribution"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "386efea9b65635beda6c3f929d761a2f327f0d31dfb48b1d9ce23e9ce702dcc4",
                "md5": "a05ac07d82e63448679edb80de5589f8",
                "sha256": "feb09429ce97e1cc95905ebc25ecfdd27127f03eab27b530328c671ce83764b2"
            },
            "downloads": -1,
            "filename": "pyopia-1.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a05ac07d82e63448679edb80de5589f8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.11,>=3.10",
            "size": 41779,
            "upload_time": "2024-04-10T19:51:40",
            "upload_time_iso_8601": "2024-04-10T19:51:40.303806Z",
            "url": "https://files.pythonhosted.org/packages/38/6e/fea9b65635beda6c3f929d761a2f327f0d31dfb48b1d9ce23e9ce702dcc4/pyopia-1.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c12582948ad7ab9324d36f4a725582bc1791fb4186e49c9e92d6cadd86f18ecf",
                "md5": "a2b07bc7336ba1ba52ed87eb1baec5f4",
                "sha256": "f7a68725fb001eb981ce3d1da83486aaa34e0b32cd6338004f0e9f1a273426b4"
            },
            "downloads": -1,
            "filename": "pyopia-1.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a2b07bc7336ba1ba52ed87eb1baec5f4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.10",
            "size": 37520,
            "upload_time": "2024-04-10T19:51:41",
            "upload_time_iso_8601": "2024-04-10T19:51:41.931492Z",
            "url": "https://files.pythonhosted.org/packages/c1/25/82948ad7ab9324d36f4a725582bc1791fb4186e49c9e92d6cadd86f18ecf/pyopia-1.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 19:51:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sintef",
    "github_project": "pyopia",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyopia"
}
        
Elapsed time: 0.22242s