Compare commits
No commits in common. 'main' and 'master' have entirely different histories.
12 changed files with 85 additions and 358 deletions
@ -1,38 +0,0 @@ |
|||||||
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 s2watchdog |
|
||||||
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 s2watchdog tests |
|
||||||
language: system |
|
||||||
pass_filenames: false |
|
||||||
- id: flake8 |
|
||||||
name: flake8 |
|
||||||
entry: flake8 s2watchdog tests |
|
||||||
language: system |
|
||||||
pass_filenames: false |
|
||||||
- id: pytest |
|
||||||
name: pytest |
|
||||||
entry: pytest tests |
|
||||||
pass_filenames: false |
|
||||||
language: system |
|
@ -1,4 +0,0 @@ |
|||||||
0.0.1 - first version |
|
||||||
---------------------- |
|
||||||
|
|
||||||
- setting up the project |
|
@ -1,117 +0,0 @@ |
|||||||
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://git.cpi.imtek.uni-freiburg.de/CPI/s2watchdog.git/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 |
|
||||||
|
|
||||||
s2watchdog could always use more documentation, whether as part of the |
|
||||||
official s2watchdog 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://git.cpi.imtek.uni-freiburg.de/CPI/s2watchdog.git/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 `s2watchdog` for local development. |
|
||||||
|
|
||||||
1. Fork the `s2watchdog` repo on GitHub. |
|
||||||
2. Clone your fork locally:: |
|
||||||
|
|
||||||
`$ git clone git@github.com:your_name_here/s2watchdog.git` |
|
||||||
|
|
||||||
3. Install your local copy into a virtualenv. |
|
||||||
|
|
||||||
`$ cd s2watchdog/` |
|
||||||
`$ 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 `s2watchdog/__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 |
|
||||||
|
|
@ -1,10 +1,13 @@ |
|||||||
/* |
BEERWARE |
||||||
* ---------------------------------------------------------------------------- |
|
||||||
* "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 |
|
||||||
* ---------------------------------------------------------------------------- |
|
||||||
*/ |
|
||||||
|
|
||||||
|
The beerware license is very open, close to public domain, but insists on |
||||||
|
honoring the original author by just not claiming that the code is yours. |
||||||
|
Instead assume that someone writing Open Source Software in the domain you’re |
||||||
|
obviously interested in would be a nice match for having a beer with. |
||||||
|
|
||||||
|
So, just keep the name and contact details intact and if you ever meet the |
||||||
|
author in person, just have an appropriate brand of sparkling beverage choice |
||||||
|
together. The conversation will be worth the time for both of you. |
||||||
|
|
||||||
|
(Kudos to https://erdgeist.org/beerware.html) |
||||||
|
|
||||||
|
@ -1,90 +0,0 @@ |
|||||||
.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 s2watchdog |
|
||||||
isort tests |
|
||||||
black s2watchdog tests |
|
||||||
flake8 s2watchdog tests |
|
||||||
|
|
||||||
test: lint ## run tests quickly with the default Python
|
|
||||||
pytest tests -x --disable-warnings -m "not fun" |
|
||||||
|
|
||||||
testall: lint ## run tests quickly with the default Python
|
|
||||||
pytest tests |
|
||||||
|
|
||||||
coverage: lint ## full test suite, check code coverage and open coverage report
|
|
||||||
pytest tests --cov=s2watchdog -m "fun" |
|
||||||
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 s2watchdog .venv |
|
||||||
.venv/bin/pip3 install --upgrade pip |
|
||||||
.venv/bin/pip3 install "flit>3.2" |
|
||||||
.venv/bin/flit install --pth-file |
|
||||||
|
|
||||||
repo: devenv ## complete project setup with development environment and git repo
|
|
||||||
git init . |
|
||||||
git branch -m main |
|
||||||
git add . |
|
||||||
git commit -m "import of project template" |
|
||||||
git remote add origin https://git.cpi.imtek.uni-freiburg.de/CPI/s2watchdog.git |
|
||||||
git push -u origin main --no-verify |
|
||||||
|
|
||||||
.venv/bin/pre-commit install --install-hooks |
|
@ -0,0 +1,12 @@ |
|||||||
|
[[source]] |
||||||
|
url = "https://pypi.org/simple" |
||||||
|
verify_ssl = true |
||||||
|
name = "pypi" |
||||||
|
|
||||||
|
[packages] |
||||||
|
"s2watchdog" = {editable = true, path = "."} |
||||||
|
|
||||||
|
[dev-packages] |
||||||
|
|
||||||
|
[requires] |
||||||
|
python_version = "3.7" |
@ -0,0 +1,25 @@ |
|||||||
|
{ |
||||||
|
"_meta": { |
||||||
|
"hash": { |
||||||
|
"sha256": "a7568a70424d02f7de75f3c40f0434e4a03581a9e51e8f18117c08b4025b9261" |
||||||
|
}, |
||||||
|
"pipfile-spec": 6, |
||||||
|
"requires": { |
||||||
|
"python_version": "3.7" |
||||||
|
}, |
||||||
|
"sources": [ |
||||||
|
{ |
||||||
|
"name": "pypi", |
||||||
|
"url": "https://pypi.org/simple", |
||||||
|
"verify_ssl": true |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
"default": { |
||||||
|
"s2watchdog": { |
||||||
|
"editable": true, |
||||||
|
"path": "." |
||||||
|
} |
||||||
|
}, |
||||||
|
"develop": {} |
||||||
|
} |
@ -1,83 +0,0 @@ |
|||||||
|
|
||||||
|
|
||||||
[build-system] |
|
||||||
requires = ["flit"] |
|
||||||
build-backend = "flit.buildapi" |
|
||||||
|
|
||||||
[project] |
|
||||||
name = "s2watchdog" |
|
||||||
readme = "README.md" |
|
||||||
description = "A simple watchdog script for the deep freezer alert system in our s2 scullery" |
|
||||||
license = { file = "LICENSE" } |
|
||||||
requires-python = ">=3.7" |
|
||||||
dynamic = ["version"] |
|
||||||
|
|
||||||
authors = [ |
|
||||||
{name = "Holger Frey", email = "frey@imtek.de"}, |
|
||||||
] |
|
||||||
|
|
||||||
# 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", |
|
||||||
] |
|
||||||
|
|
||||||
dependencies = [ |
|
||||||
'requests', |
|
||||||
] |
|
||||||
|
|
||||||
[project.urls] |
|
||||||
Source = "https://git.cpi.imtek.uni-freiburg.de/CPI/s2watchdog.git" |
|
||||||
|
|
||||||
[project.scripts] |
|
||||||
s2watchdog = "s2watchdog:run" |
|
||||||
|
|
||||||
[project.optional-dependencies] |
|
||||||
test = [ |
|
||||||
"pytest >=4.0.0", |
|
||||||
"pytest-cov", |
|
||||||
"pytest-mock", |
|
||||||
"pytest-randomly", |
|
||||||
"tox", |
|
||||||
] |
|
||||||
dev = [ |
|
||||||
"black", |
|
||||||
"flake8", |
|
||||||
"flake8-comprehensions", |
|
||||||
"flake8-bandit", |
|
||||||
"isort >= 5.0.0", |
|
||||||
"keyring", |
|
||||||
"pre-commit", |
|
||||||
] |
|
||||||
|
|
||||||
[tool.black] |
|
||||||
line-length = 79 |
|
||||||
target-version = ['py37','py38', 'py39'] |
|
||||||
include = '\.pyi?$' |
|
||||||
extend-exclude = ''' |
|
||||||
# A regex preceded with ^/ will apply only to files and directories |
|
||||||
# in the root of the project. |
|
||||||
^/.git |
|
||||||
^/.tox |
|
||||||
^/.venv |
|
||||||
^/.build |
|
||||||
^/.dist |
|
||||||
''' |
|
||||||
|
|
||||||
[tool.isort] |
|
||||||
line_length=79 |
|
||||||
multi_line_output=3 |
|
||||||
length_sort="True" |
|
||||||
include_trailing_comma="True" |
|
||||||
|
|
||||||
[tool.pytest.ini_options] |
|
||||||
markers = [ |
|
||||||
"fun: marks tests as functional (deselect with '-m \"not fun\"')", |
|
||||||
] |
|
||||||
addopts = [ |
|
||||||
"--strict-markers", |
|
||||||
] |
|
@ -0,0 +1,36 @@ |
|||||||
|
import os |
||||||
|
|
||||||
|
from setuptools import setup, find_packages |
||||||
|
|
||||||
|
here = os.path.abspath(os.path.dirname(__file__)) |
||||||
|
with open(os.path.join(here, 'README.md')) as f: |
||||||
|
README = f.read() |
||||||
|
|
||||||
|
requires = [ |
||||||
|
'requests' |
||||||
|
] |
||||||
|
|
||||||
|
setup( |
||||||
|
name='s2watchdog', |
||||||
|
version='0.0.1', |
||||||
|
description='simple watchdog script for our deep freezer alert system', |
||||||
|
long_description=README, |
||||||
|
classifiers=[ |
||||||
|
'Programming Language :: Python', |
||||||
|
'Environment :: Console', |
||||||
|
'Topic :: System :: Monitoring', |
||||||
|
], |
||||||
|
author='Holger Frey', |
||||||
|
author_email='frey@imtek.de', |
||||||
|
url='https://git.cpi.imtek.uni-freiburg.de/holgi/s2watchdog', |
||||||
|
keywords='alerts', |
||||||
|
packages=find_packages(), |
||||||
|
include_package_data=True, |
||||||
|
zip_safe=False, |
||||||
|
install_requires=requires, |
||||||
|
entry_points={ |
||||||
|
'console_scripts': [ |
||||||
|
's2watchdog = s2watchdog:run', |
||||||
|
], |
||||||
|
}, |
||||||
|
) |
Loading…
Reference in new issue