 Holger Frey
					
					6 years ago
						Holger Frey
					
					6 years ago
					
				commit
					535490fd84
				
				 11 changed files with 435 additions and 0 deletions
			
			
		| @ -0,0 +1,64 @@@@ -0,0 +1,64 @@ | ||||
| # ---> Python | ||||
| # Byte-compiled / optimized / DLL files | ||||
| __pycache__/ | ||||
| *.py[cod] | ||||
| *$py.class | ||||
| 
 | ||||
| # C extensions | ||||
| *.so | ||||
| 
 | ||||
| # Distribution / packaging | ||||
| .Python | ||||
| .venv | ||||
| env/ | ||||
| build/ | ||||
| develop-eggs/ | ||||
| dist/ | ||||
| downloads/ | ||||
| eggs/ | ||||
| .eggs/ | ||||
| lib/ | ||||
| lib64/ | ||||
| parts/ | ||||
| sdist/ | ||||
| var/ | ||||
| *.egg-info/ | ||||
| .installed.cfg | ||||
| *.egg | ||||
| 
 | ||||
| # PyInstaller | ||||
| #  Usually these files are written by a python script from a template | ||||
| #  before PyInstaller builds the exe, so as to inject date/other infos into it. | ||||
| *.manifest | ||||
| *.spec | ||||
| 
 | ||||
| # Installer logs | ||||
| pip-log.txt | ||||
| pip-delete-this-directory.txt | ||||
| 
 | ||||
| # Unit test / coverage reports | ||||
| htmlcov/ | ||||
| .tox/ | ||||
| .coverage | ||||
| .coverage.* | ||||
| .cache | ||||
| nosetests.xml | ||||
| coverage.xml | ||||
| *,cover | ||||
| 
 | ||||
| # Translations | ||||
| *.mo | ||||
| *.pot | ||||
| 
 | ||||
| # Django stuff: | ||||
| *.log | ||||
| 
 | ||||
| # Sphinx documentation | ||||
| docs/_build/ | ||||
| 
 | ||||
| # PyBuilder | ||||
| target/ | ||||
| 
 | ||||
| # Mac Stuff | ||||
| .DS_Store | ||||
| 
 | ||||
| @ -0,0 +1,38 @@@@ -0,0 +1,38 @@ | ||||
| repos: | ||||
| -   repo: https://github.com/pre-commit/pre-commit-hooks | ||||
|     rev: v2.4.0 | ||||
|     hooks: | ||||
|     -   id: check-added-large-files | ||||
|     -   id: check-byte-order-marker | ||||
|     -   id: check-json | ||||
|     -   id: check-merge-conflict | ||||
|     -   id: check-toml | ||||
|     -   id: debug-statements | ||||
|     -   id: detect-private-key | ||||
| -   repo: local | ||||
|     hooks: | ||||
|     -   id: isort-project | ||||
|         name: isort_project | ||||
|         entry: isort -rc sensovation_data_parser | ||||
|         language: system | ||||
|         pass_filenames: false | ||||
|     -   id: isort-test | ||||
|         name: isort_test | ||||
|         entry: isort -rc tests | ||||
|         language: system | ||||
|         pass_filenames: false | ||||
|     -   id: black | ||||
|         name: black | ||||
|         entry: black sensovation_data_parser tests | ||||
|         language: system | ||||
|         pass_filenames: false | ||||
|     -   id: flake8 | ||||
|         name: flake8 | ||||
|         entry: flake8 sensovation_data_parser tests | ||||
|         language: system | ||||
|         pass_filenames: false | ||||
|     -   id: pytest | ||||
|         name: pytest | ||||
|         entry: pytest tests | ||||
|         pass_filenames: false | ||||
|         language: system | ||||
| @ -0,0 +1,4 @@@@ -0,0 +1,4 @@ | ||||
| 0.0.1  - first version | ||||
| ---------------------- | ||||
| 
 | ||||
|  - setting up the project | ||||
| @ -0,0 +1,117 @@@@ -0,0 +1,117 @@ | ||||
| Contributing | ||||
| ============ | ||||
| 
 | ||||
| Contributions are welcome, and they are greatly appreciated! Every little bit | ||||
| helps, and credit will always be given. | ||||
| 
 | ||||
| You can contribute in many ways: | ||||
| 
 | ||||
| Types of Contributions | ||||
| ---------------------- | ||||
| 
 | ||||
| ### Report Bugs | ||||
| 
 | ||||
| Report bugs at https://github.com/holgi/sensovation_data_parser/issues. | ||||
| 
 | ||||
| If you are reporting a bug, please include: | ||||
| 
 | ||||
| * Your operating system name and version. | ||||
| * Any details about your local setup that might be helpful in troubleshooting. | ||||
| * Detailed steps to reproduce the bug. | ||||
| 
 | ||||
| ### Fix Bugs | ||||
| 
 | ||||
| Look through the GitHub issues for bugs. Anything tagged with "bug" and "help | ||||
| wanted" is open to whoever wants to implement it. | ||||
| 
 | ||||
| ### Implement Features | ||||
| 
 | ||||
| Look through the GitHub issues for features. Anything tagged with "enhancement" | ||||
| and "help wanted" is open to whoever wants to implement it. | ||||
| 
 | ||||
| ### Write Documentation | ||||
| 
 | ||||
| Sensovation Data Parser could always use more documentation, whether as part of the | ||||
| official Sensovation Data Parser docs, in docstrings, or even on the web in blog posts, | ||||
| articles, and such. | ||||
| 
 | ||||
| ### Submit Feedback | ||||
| 
 | ||||
| The best way to send feedback is to file an issue at https://github.com/holgi/sensovation_data_parser/issues. | ||||
| 
 | ||||
| If you are proposing a feature: | ||||
| 
 | ||||
| * Explain in detail how it would work. | ||||
| * Keep the scope as narrow as possible, to make it easier to implement. | ||||
| * Remember that this is a volunteer-driven project, and that contributions | ||||
|   are welcome :) | ||||
| 
 | ||||
| Get Started! | ||||
| ------------ | ||||
| 
 | ||||
| Ready to contribute? Here's how to set up `sensovation_data_parser` for local development. | ||||
| 
 | ||||
| 1. Fork the `sensovation_data_parser` repo on GitHub. | ||||
| 2. Clone your fork locally:: | ||||
| 
 | ||||
|     `$ git clone git@github.com:your_name_here/sensovation_data_parser.git` | ||||
| 
 | ||||
| 3. Install your local copy into a virtualenv. | ||||
| 
 | ||||
|     `$ cd sensovation_data_parser/` | ||||
|     `$ make devenv` | ||||
| 
 | ||||
| 4. Create a branch for local development:: | ||||
| 
 | ||||
|     `$ git checkout -b name-of-your-bugfix-or-feature` | ||||
| 
 | ||||
|    Now you can make your changes locally. | ||||
| 
 | ||||
| 5. When you're done making changes, check that your changes passes the linters and the | ||||
|    tests, including testing other Python versions with tox:: | ||||
| 
 | ||||
|     ``` | ||||
|     $ make lint | ||||
|     $ make coverage | ||||
|     $ make tox | ||||
|     ``` | ||||
| 
 | ||||
| 6. Commit your changes and push your branch to GitHub:: | ||||
| 
 | ||||
|     ``` | ||||
|     $ git add . | ||||
|     $ git commit -m "Your detailed description of your changes." | ||||
|     $ git push origin name-of-your-bugfix-or-feature | ||||
|     ``` | ||||
| 
 | ||||
| 7. Submit a pull request through the GitHub website. | ||||
| 
 | ||||
| Pull Request Guidelines | ||||
| ----------------------- | ||||
| 
 | ||||
| Before you submit a pull request, check that it meets these guidelines: | ||||
| 
 | ||||
| 1. The pull request should include tests. | ||||
| 2. If the pull request adds functionality, the docs should be updated. Put | ||||
|    your new functionality into a function with a docstring, and add the | ||||
|    feature to the list in README.md and CHANGES.md | ||||
| 
 | ||||
| Tips | ||||
| ---- | ||||
| 
 | ||||
| To run a quick set of tests without coverage report | ||||
| 
 | ||||
|     $ make test | ||||
| 
 | ||||
| Deploying | ||||
| --------- | ||||
| 
 | ||||
| A reminder for the maintainers on how to deploy. | ||||
| Bump the version in `sensovation_data_parser/__init__.py` and | ||||
| make sure all your changes are committed (including an entry in CHANGES.md). | ||||
| 
 | ||||
| 	$ git tag <new version> | ||||
| 	$ git push | ||||
| 	$ git push --tags | ||||
| 	$ flit publish | ||||
| 
 | ||||
| @ -0,0 +1,10 @@@@ -0,0 +1,10 @@ | ||||
| /* | ||||
| * ---------------------------------------------------------------------------- | ||||
| * "THE BEER-WARE LICENSE" (Revision 42): | ||||
| * frey@imtek.de wrote this file. As long as you retain this notice you | ||||
| * can do whatever you want with this stuff. If we meet some day, and you think | ||||
| * this stuff is worth it, you can buy me a beer in return. Holger Frey | ||||
| * ---------------------------------------------------------------------------- | ||||
| */ | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,86 @@@@ -0,0 +1,86 @@ | ||||
| .PHONY: clean clean-test clean-pyc clean-build docs help | ||||
| .DEFAULT_GOAL := help | ||||
| 
 | ||||
| define BROWSER_PYSCRIPT | ||||
| import os, webbrowser, sys | ||||
| 
 | ||||
| try: | ||||
| 	from urllib import pathname2url | ||||
| except: | ||||
| 	from urllib.request import pathname2url | ||||
| 
 | ||||
| webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) | ||||
| endef | ||||
| export BROWSER_PYSCRIPT | ||||
| 
 | ||||
| define PRINT_HELP_PYSCRIPT | ||||
| import re, sys | ||||
| 
 | ||||
| for line in sys.stdin: | ||||
| 	match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) | ||||
| 	if match: | ||||
| 		target, help = match.groups() | ||||
| 		print("%-20s %s" % (target, help)) | ||||
| endef | ||||
| export PRINT_HELP_PYSCRIPT | ||||
| 
 | ||||
| BROWSER := python -c "$$BROWSER_PYSCRIPT" | ||||
| 
 | ||||
| help: | ||||
| 	@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) | ||||
| 
 | ||||
| clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts
 | ||||
| 
 | ||||
| clean-build: ## remove build artifacts
 | ||||
| 	rm -fr build/ | ||||
| 	rm -fr dist/ | ||||
| 	rm -fr .eggs/ | ||||
| 	find . -name '*.egg-info' -exec rm -fr {} + | ||||
| 	find . -name '*.egg' -exec rm -f {} + | ||||
| 
 | ||||
| clean-pyc: ## remove Python file artifacts
 | ||||
| 	find . -name '*.pyc' -exec rm -f {} + | ||||
| 	find . -name '*.pyo' -exec rm -f {} + | ||||
| 	find . -name '*~' -exec rm -f {} + | ||||
| 	find . -name '__pycache__' -exec rm -fr {} + | ||||
| 
 | ||||
| clean-test: ## remove test and coverage artifacts
 | ||||
| 	rm -fr .pytest_cache/ | ||||
| 	rm -fr .tox/ | ||||
| 	rm -f .coverage | ||||
| 	rm -fr htmlcov/ | ||||
| 
 | ||||
| lint: ## reformat with black and check style with flake8
 | ||||
| 	isort -rc sensovation_data_parser | ||||
| 	isort -rc tests | ||||
| 	black sensovation_data_parser tests | ||||
| 	flake8 sensovation_data_parser tests | ||||
| 
 | ||||
| test: ## run tests quickly with the default Python
 | ||||
| 	pytest tests -x --disable-warnings -k "not app" | ||||
| 
 | ||||
| coverage: ## full test suite, check code coverage and open coverage report
 | ||||
| 	pytest tests --cov=sensovation_data_parser | ||||
| 	coverage html | ||||
| 	$(BROWSER) htmlcov/index.html | ||||
| 
 | ||||
| tox:  ## run fully isolated tests with tox
 | ||||
| 	tox | ||||
| 
 | ||||
| install:  ## install updated project.toml with flint
 | ||||
| 	flit install --pth-file | ||||
| 
 | ||||
| devenv: ## setup development environment
 | ||||
| 	python3 -m venv --prompt sensovation .venv | ||||
| 	.venv/bin/pip3 install --upgrade pip | ||||
| 	.venv/bin/pip3 install flit | ||||
| 	.venv/bin/flit install --pth-file | ||||
| 
 | ||||
| repo: devenv ## complete project setup with development environment and git repo
 | ||||
| 	git init . | ||||
| 	git add . | ||||
| 	git commit -m "import of project template" | ||||
| 	git remote add origin https://git.cpi.imtek.uni-freiburg.de/holgi/sensovation-data-parser.git | ||||
| 	git push -u origin master --no-verify | ||||
| 	 | ||||
| 	.venv/bin/pre-commit install --install-hooks | ||||
| @ -0,0 +1,26 @@@@ -0,0 +1,26 @@ | ||||
| Sensovation Data Parser | ||||
| ======================= | ||||
| 
 | ||||
| Parsing the numerical output from Sensovation image analysis. | ||||
| 
 | ||||
| ## Example: | ||||
| 
 | ||||
| ```python | ||||
| 
 | ||||
|     import sensovation_data_parser | ||||
| 
 | ||||
|     sensovation_data_parser.run() | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| ## Development | ||||
| 
 | ||||
| To install the development version of Sensovation Data Parser: | ||||
| 
 | ||||
|     git clone https://github.com/holgi/sensovation_data_parser.git | ||||
| 
 | ||||
|     # create a virtual environment and install all required dev dependencies | ||||
|     cd sensovation_data_parser | ||||
|     make devenv | ||||
| 
 | ||||
| To run the tests, use `make tests` or `make coverage` for a complete report. | ||||
| @ -0,0 +1,65 @@@@ -0,0 +1,65 @@ | ||||
| 
 | ||||
| 
 | ||||
| [build-system] | ||||
| requires = ["flit"] | ||||
| build-backend = "flit.buildapi" | ||||
| 
 | ||||
| [tool.flit.metadata] | ||||
| module = "sensovation_data_parser" | ||||
| dist-name = "sensovation_data_parser" | ||||
| author = "Holger Frey" | ||||
| author-email = "frey@imtek.de" | ||||
| home-page = "https://github.com/holgi/sensovation_data_parser" | ||||
| description-file = "README.md" | ||||
| license = "Beerware" | ||||
| 
 | ||||
| # see https://pypi.org/classifiers/ | ||||
| classifiers = [ | ||||
|     "Development Status :: 2 - Pre-Alpha", | ||||
|     "Intended Audience :: Developers", | ||||
|     "Programming Language :: Python :: 3.7", | ||||
|     "Programming Language :: Python :: 3.8", | ||||
|     "Programming Language :: Python :: 3 :: Only", | ||||
|     "License :: Freely Distributable", | ||||
| ] | ||||
| 
 | ||||
| requires = [ | ||||
| 
 | ||||
| ] | ||||
| requires-python = ">=3.7" | ||||
| 
 | ||||
| [tool.flit.metadata.requires-extra] | ||||
| test = [ | ||||
|     "pytest >=4.0.0", | ||||
|     "pytest-cov", | ||||
|     "pytest-mock", | ||||
|     "tox", | ||||
| ] | ||||
| dev = [ | ||||
|     "black", | ||||
|     "flake8", | ||||
|     "flake8-comprehensions", | ||||
|     "isort", | ||||
|     "keyring", | ||||
|     "pre-commit", | ||||
| ] | ||||
| 
 | ||||
| [tool.black] | ||||
| line-length = 79 | ||||
| py37 = true | ||||
| include = '\.pyi?$' | ||||
| exclude = ''' | ||||
| /( | ||||
|     \.git | ||||
|   | \.tox | ||||
|   | \.venv | ||||
|   | build | ||||
|   | dist | ||||
| )/ | ||||
| ''' | ||||
| 
 | ||||
| [tool.isort] | ||||
| line_length=79 | ||||
| multi_line_output=3 | ||||
| length_sort="True" | ||||
| include_trailing_comma="True" | ||||
| @ -0,0 +1,6 @@@@ -0,0 +1,6 @@ | ||||
| """ Sensovation Data Parser | ||||
| 
 | ||||
| Parsing the numerical output from Sensovation image analysis. | ||||
| """ | ||||
| 
 | ||||
| __version__ = "0.0.1" | ||||
| @ -0,0 +1,5 @@@@ -0,0 +1,5 @@ | ||||
| """ Stub file for testing the project """ | ||||
| 
 | ||||
| 
 | ||||
| def test_dummy(): | ||||
|     assert True | ||||
					Loading…
					
					
				
		Reference in new issue