opcsim

opcsim is a python package for simulating low-cost optical particle sensors

https://github.com/dhhagan/opcsim

Science Score: 46.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.4%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

opcsim is a python package for simulating low-cost optical particle sensors

Basic Info
  • Host: GitHub
  • Owner: dhhagan
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 27.8 MB
Statistics
  • Stars: 17
  • Watchers: 5
  • Forks: 4
  • Open Issues: 8
  • Releases: 6
Created over 9 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License

README.md

PyPI version DOI

license run and build codecov Docker Pulls Docker Stars

opcsim

opcsim is a Python library for simulating low-cost Optical Particle Sensors (both Optical Particle Counters and Nephelometers) and their response to various aerosol distributions.

Citation

The paper for this library can be found on the AMT website here. It should be cited as:

Hagan, D.H. and Kroll, J.H.: Assessing the accuracy of low-cost optical particle sensors using a physics-based approach, Atmos. Meas. Tech., 13, 6343-6355, https://doi.org/10.5194/amt-13-6343-2020, 2020.

Documentation

Full online documentation can be found here.

The docs include a tutorial, an example gallery, and an API Reference.

In addition, documentation can be built locally for development purposes. To do so, please check out the complete details in the contributing to opcsim section of the documentation.

Docker

If you are familiar with Docker, there is a Docker image available to get up and running with OPCSIM with ease. To get started with an ephemeral container with a jupyter lab interface, navigate to your preferred working directory and execute:

sh $ docker run --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/joyvan/work dhhagan/opcsim:latest

Once executed, you should see the url with token in your terminal that will allow you to bring up the jupyter lab instance.

Dependencies

Opcsim is supported for python3.6.1+.

Installation requires scipy, numpy, pandas, matplotlib, and seaborn.

Installation

To install (or upgrade to) the latest stable release:

```sh

$ pip install opcsim [--upgrade] ```

To install the development version directly from GitHub using pip:

```sh

$ pip install git+https://github.com/dhhagan/opcsim.git ```

In addition, you can either clone the repository and install from source or download/unzip the zip file and install from source using poetry:

```sh

$ git clone https://github.com/dhhagan/opcsim.git $ cd /opcsim $ poetry install ```

Testing

All tests are automagically run via GitHub actions and Travis.ci. For results of these tests, please click on the link in the above travis badge. In addition, you can run tests locally using poetry.

To run tests locally:

```sh

$ poetry run pytest tests ```

Development

opcsim development takes place on GitHub. Issues and bugs can be submitted and tracked via the GitHub Issue Tracker for this repository. As of v0.5.0, opcsim uses poetry for versioning and managing dependencies and releases.

Owner

  • Name: David H Hagan
  • Login: dhhagan
  • Kind: user
  • Location: Cambridge, MA
  • Company: Massachusetts Institute of Technology

Building @quant-aq.

GitHub Events

Total
  • Create event: 1
  • Commit comment event: 1
  • Issues event: 2
  • Release event: 1
  • Watch event: 4
  • Issue comment event: 4
  • Push event: 2
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Create event: 1
  • Commit comment event: 1
  • Issues event: 2
  • Release event: 1
  • Watch event: 4
  • Issue comment event: 4
  • Push event: 2
  • Pull request event: 2
  • Fork event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 155
  • Total Committers: 2
  • Avg Commits per committer: 77.5
  • Development Distribution Score (DDS): 0.11
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
David H Hagan d****d@d****m 138
David H Hagan d****n@m****u 17
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 68
  • Total pull requests: 36
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 11 days
  • Total issue authors: 6
  • Total pull request authors: 2
  • Average comments per issue: 0.1
  • Average comments per pull request: 0.11
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 2
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 minutes
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • dhhagan (62)
  • rkuemmer99 (2)
  • samjsilva (1)
  • drewmee (1)
  • daridley (1)
  • jhaskinsPhD (1)
Pull Request Authors
  • dhhagan (36)
  • dependabot[bot] (3)
Top Labels
Issue Labels
enhancement (37) documentation (21) bug (13) question (8) OPC (5) Nephelometer (2) help wanted (1)
Pull Request Labels
bug (4) dependencies (3)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 31 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 16
  • Total maintainers: 1
pypi.org: opcsim

OPCSIM: simulating low-cost optical particle counters

  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 31 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 17.7%
Forks count: 19.1%
Average: 21.2%
Dependent repos count: 21.7%
Downloads: 37.3%
Maintainers (1)
Last synced: 7 months ago

Dependencies

poetry.lock pypi
  • alabaster 0.7.12 develop
  • appnope 0.1.0 develop
  • atomicwrites 1.4.0 develop
  • attrs 19.3.0 develop
  • babel 2.8.0 develop
  • backcall 0.1.0 develop
  • bleach 3.1.5 develop
  • certifi 2020.4.5.1 develop
  • chardet 3.0.4 develop
  • colorama 0.4.3 develop
  • coverage 5.1 develop
  • decorator 4.4.2 develop
  • defusedxml 0.6.0 develop
  • docutils 0.16 develop
  • entrypoints 0.3 develop
  • idna 2.9 develop
  • imagesize 1.2.0 develop
  • importlib-metadata 1.6.0 develop
  • ipykernel 5.3.0 develop
  • ipython 7.14.0 develop
  • ipython-genutils 0.2.0 develop
  • ipywidgets 7.5.1 develop
  • jedi 0.17.0 develop
  • jinja2 2.11.2 develop
  • jsonschema 3.2.0 develop
  • jupyter 1.0.0 develop
  • jupyter-client 6.1.3 develop
  • jupyter-console 6.1.0 develop
  • jupyter-core 4.6.3 develop
  • markupsafe 1.1.1 develop
  • mistune 0.8.4 develop
  • more-itertools 8.3.0 develop
  • nbconvert 5.6.1 develop
  • nbformat 5.0.6 develop
  • notebook 6.0.3 develop
  • numpydoc 0.9.2 develop
  • packaging 20.4 develop
  • pandoc 1.0.2 develop
  • pandocfilters 1.4.2 develop
  • parso 0.7.0 develop
  • pexpect 4.8.0 develop
  • pickleshare 0.7.5 develop
  • pluggy 0.13.1 develop
  • ply 3.11 develop
  • prometheus-client 0.8.0 develop
  • prompt-toolkit 3.0.5 develop
  • ptyprocess 0.6.0 develop
  • py 1.8.1 develop
  • pygments 2.6.1 develop
  • pyrsistent 0.16.0 develop
  • pytest 3.10.1 develop
  • pytest-cov 2.9.0 develop
  • pywin32 227 develop
  • pywinpty 0.5.7 develop
  • pyzmq 19.0.1 develop
  • qtconsole 4.7.4 develop
  • qtpy 1.9.0 develop
  • requests 2.23.0 develop
  • send2trash 1.5.0 develop
  • snowballstemmer 2.0.0 develop
  • sphinx 3.0.3 develop
  • sphinx-bootstrap-theme 0.7.1 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 1.0.3 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.4 develop
  • terminado 0.8.3 develop
  • testpath 0.4.4 develop
  • tornado 6.0.4 develop
  • traitlets 4.3.3 develop
  • urllib3 1.25.9 develop
  • wcwidth 0.1.9 develop
  • webencodings 0.5.1 develop
  • widgetsnbextension 3.5.1 develop
  • zipp 3.1.0 develop
  • cycler 0.10.0
  • kiwisolver 1.2.0
  • matplotlib 3.2.1
  • numpy 1.18.4
  • pandas 1.0.3
  • pyparsing 2.4.7
  • python-dateutil 2.8.1
  • pytz 2020.1
  • scipy 1.4.1
  • seaborn 0.10.1
  • six 1.15.0
pyproject.toml pypi
  • jupyter ^1.0.0 develop
  • numpydoc ^0.9.2 develop
  • pandoc ^1.0.2 develop
  • pytest ^3.4 develop
  • pytest-cov ^2.9.0 develop
  • sphinx ^3.0.3 develop
  • sphinx-bootstrap-theme ^0.7.1 develop
  • matplotlib ^3.2.1
  • numpy ^1.18.4
  • pandas ^1.0.3
  • python ^3.6.1
  • scipy ^1.4.1
  • seaborn ^0.10.1
.github/workflows/docs.yml actions
  • Cecilapp/GitHub-Pages-deploy v3 composite
  • actions/checkout v2 composite
  • actions/setup-python master composite
  • snok/install-poetry v1 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite
  • snok/install-poetry v1 composite
.github/workflows/test-and-verify.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite
  • codecov/codecov-action v1 composite
  • snok/install-poetry v1 composite