Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kamikaze committed Sep 1, 2019
0 parents commit 07c818e
Show file tree
Hide file tree
Showing 40 changed files with 2,750 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# .coveragerc to control coverage.py
[run]
branch = True
source = aiofm
# omit = bad_file.py

[paths]
source =
src/
*/site-packages/

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover

# Don't complain about missing debug-only code:
def __repr__
if self\.debug

# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError

# Don't complain if non-runnable code isn't run:
if 0:
if __name__ == .__main__.:
25 changes: 25 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# http://editorconfig.org

root = true

[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

[*.bat]
indent_style = tab
end_of_line = crlf

[LICENSE]
insert_final_newline = false

[Makefile]
indent_style = tab
49 changes: 49 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Temporary and binary files
*~
*.py[cod]
*.so
*.cfg
!.isort.cfg
!setup.cfg
*.orig
*.log
*.pot
__pycache__/*
.cache/*
.*.swp
*/.ipynb_checkpoints/*

# Project files
.ropeproject
.project
.pydevproject
.settings
.idea
tags

# Package files
*.egg
*.eggs/
.installed.cfg
*.egg-info

# Unittest and coverage
htmlcov/*
.coverage
.tox
junit.xml
coverage.xml
.pytest_cache/

# Build and docs folder/files
build/*
dist/*
sdist/*
docs/api/*
docs/_rst/*
docs/_build/*
cover/*
MANIFEST

# Per-project virtualenvs
.venv*/
10 changes: 10 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[settings]
line_length=88
indent=' '
skip=.tox,.venv,build,dist
known_standard_library=setuptools,pkg_resources
known_test=pytest
known_first_party=aiofm
sections=FUTURE,STDLIB,COMPAT,TEST,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
default_section=THIRDPARTY
multi_line_output=3
25 changes: 25 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
exclude: '^docs/conf.py'

repos:
- repo: git://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: trailing-whitespace
- id: check-added-large-files
- id: check-ast
- id: check-json
- id: check-merge-conflict
- id: check-xml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: requirements-txt-fixer
- id: mixed-line-ending
args: ['--fix=no']
- id: flake8
args: ['--max-line-length=88'] # default of Black

- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21
hooks:
- id: isort
2 changes: 2 additions & 0 deletions .pyup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
update: insecure
schedule: "every week"
8 changes: 8 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
build:
image: latest

python:
version: 3.7
pip_install: true

requirements_file: requirements_dev.txt
52 changes: 52 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Travis configuration file using the build matrix feature
# Read more under http://docs.travis-ci.com/user/build-configuration/
# THIS SCRIPT IS SUPPOSED TO BE AN EXAMPLE. MODIFY IT ACCORDING TO YOUR NEEDS!

dist: bionic
sudo: false
language: python
virtualenv:
system_site_packages: false
matrix:
fast_finish: true
include:
- python: 3.7
env: DISTRIB="bionic" TOX_PYTHON_VERSION="py37" COVERAGE="true"
- env: DISTRIB="conda" PYTHON_VERSION="3.7" COVERAGE="false"
install:
- source tests/travis_install.sh
- pip install -r requirements_dev.txt
# ^ DEPRECATION WARNING:
# The automatic creation of a `requirements.txt` file is deprecated.
# See `Dependency Management` in the docs for other options.
before_script:
- git config --global user.email "kamikaze.is.waiting.you@gmail.com"
- git config --global user.name "Oleg Korsak"
script:
- python setup.py develop
- tox
- |
if [[ "$COVERAGE" == "true" ]]; then
pre-commit install
pre-commit run --all-files
fi
after_success:
- if [[ "$COVERAGE" == "true" ]]; then coveralls || echo "failed"; fi
- if [[ "$COVERAGE" == "true" ]]; then codecov || echo "failed"; fi
after_script:
- travis-cleanup
cache:
pip: true
directories:
- $HOME/miniconda

#deploy:
# provider: pypi
# distributions: bdist_wheel
# user: kamikaze
# password:
# secure: R9UvpiT9OFvwaMb9IFdC2OX98t+X81DMLDJE0u0DeShJqtll5Voa81RfULeo+V7afqYNA7aFP7qitGjaUDXIGQ2FghgbYO7w2doDOI2jSDa+VNSckCrdoaCigJ/C8QkFGvkt5g21zL1gkQhxWXJGLCudGYEKT9OBPM/Q/ce4SF3DSF1cdRb3SIPuVeV4/GW/dquqG3Tfxm2wDKi96BCy7259fNwKNL0wj6ENaD4+A50IQfOo9vE9ul0JZJvpS4H2vs3yeegXuuMJuOCtmdc6qDmDjj2nFzBiF53E/E88Y4D99v81klJrW59TnrTqEs+e6twDG7ind+vRRGoX4bes5MSRUnhayyz23mIRmh/NQCYlXbS1m53aG31GJfn6JbkXGrzCgjZ9B3bioWDMvvGMLjRGRkKUSuPQF9MaBbWQElT3Fw3+v7FNrVo40yHO5+QrCTgKPoyQ12Hdse9d/omx0RgnBz10pHGgNo+A+WT/Ix4EM4IctELqfz1yYsp0kcO7AfT5wH9tOfwMZaNs5lkkK2ePpcqowl3sdAzkN6IBkkHZirCtLRtHz8wgMZa/pj6i4vBClH1hfXiwSmaDIqgPgXOzb+jP4kuofEROZ2+Pyjhi7vZj8wnehBewO8qsMp17D9fRJrtf9uofCXFvMN1spFZWKueS4pnQuyoHbtM8M6U=
# on:
# tags: true
# repo: kamikaze/aiofm
# python: 3.7
5 changes: 5 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
============
Contributors
============

* Oleg <kamikaze.is.waiting.you@gmail.com>
10 changes: 10 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
=========
Changelog
=========

Version 0.1
===========

- Feature A added
- FIX: nasty bug #1729 fixed
- add your changes here!
113 changes: 113 additions & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
.. highlight:: shell

============
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/kamikaze/aiofm/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
~~~~~~~~~~~~~~~~~~~

aiofm could always use more documentation, whether as part of the
official aiofm 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/kamikaze/aiofm/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 `aiofm` for local development.

1. Fork the `aiofm` repo on GitHub.
2. Clone your fork locally::

$ git clone git@github.com:your_name_here/aiofm.git

3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development::

$ mkvirtualenv aiofm
$ cd aiofm/
$ python setup.py develop

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 pass flake8 and the tests, including testing other Python versions with tox::

$ flake8 aiofm tests
$ python setup.py test or py.test
$ tox

To get flake8 and tox, just pip install them into your virtualenv.

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.rst.
3. The pull request should work for Python 3.7 and for PyPy. Check
https://travis-ci.org/kamikaze/aiofm/pull_requests
and make sure that the tests pass for all supported Python versions.

Tips
----

To run a subset of tests::

$ py.test tests.test_aiofm
8 changes: 8 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
=======
History
=======

0.0.1 (20??-??-??)
------------------

* First lines of code.

0 comments on commit 07c818e

Please sign in to comment.