Skip to content

Commit

Permalink
Merge branch 'release/2.0.0'
Browse files Browse the repository at this point in the history
* release/2.0.0: (34 commits)
  Bump version: 1.2.0 → 2.0.0
  add example
  update history
  prepare history and setup.py for release
  update docs
  update travis secure key
  test connect object
  more tests
  update docs, fix 2.6 tests
  fix spam saving
  cleanup
  make delete work
  renamed tests, test deserialization
  more cleanup
  fix regression tests, cleanup
  cleanup
  scaffold and organize tests, error_handling on serializer baseclass
  use dynamic serializer dynamically
  tweak
  refactored baseclasses, to make JSON serializer easily swappable
  ...
  • Loading branch information
manuphatak committed Jan 1, 2016
2 parents 2cc26bf + d7b7735 commit f3bc3cb
Show file tree
Hide file tree
Showing 60 changed files with 3,191 additions and 938 deletions.
31 changes: 31 additions & 0 deletions .coveragerc
@@ -0,0 +1,31 @@
; vi:syntax=ini
; See https://coverage.readthedocs.org/en/coverage-4.0.3/config.html

[run]
data_file = .coverage
source =
json_config

; debug = config
; branch = False
; include =
; json_config/
; omit =
; tests/

[report]
fail_under = 80
show_missing = True
omit =
json_config/_compat.py

; exclude_lines =
; (?i)#\s*pragma[:\s]?\s*no\s*cover
; include_errors = False
; include =
; json_config/
; skip_covered = False

[html]
directory = .htmlcov
title = json_config coverage report
1 change: 1 addition & 0 deletions .editorconfig
Expand Up @@ -3,6 +3,7 @@
root = true

[*]
line_length = 120
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
Expand Down
72 changes: 46 additions & 26 deletions .gitignore
@@ -1,46 +1,66 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
lib
lib64
*.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
.tox
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Mr Developer
.mr.developer.cfg
.project
.pydevproject
# Django stuff:
*.log

# Complexity
output/*.html
output/*/index.html

# Sphinx
docs/build
# Sphinx documentation
docs/_build/

# Pycharm
.idea/
.eggs/
compiled/

# PyBuilder
target/

# pip wheels
wheelhouse/
24 changes: 24 additions & 0 deletions .requirements.diff
@@ -0,0 +1,24 @@
diff --git i/requirements_dev.txt w/requirements_dev.txt
index 13adb71..e2087c6 100644
--- i/requirements_dev.txt
+++ w/requirements_dev.txt
@@ -24,8 +24,10 @@ ipython==4.0.1 # via ipdb
jinja2==2.8 # via sphinx
markupsafe==0.23 # via jinja2
mccabe==0.3.1 # via flake8
+mock==1.3.0
path.py==8.1.2 # via pickleshare
pathtools==0.1.2 # via watchdog
+pbr==1.8.1 # via mock
pep8==1.5.7 # via flake8
pexpect==4.0.1 # via ipython
pickleshare==0.5 # via ipython
@@ -43,7 +45,7 @@ pytz==2015.7 # via babel
pyyaml==3.11
restructuredtext-lint==0.14.0
simplegeneric==0.8.1 # via ipython
-six==1.10.0 # via cryptography, pip-tools, sphinx
+six==1.10.0 # via cryptography, mock, pip-tools, sphinx
snowballstemmer==1.2.1 # via sphinx
sphinx-rtd-theme==0.1.9 # via sphinx
sphinx==1.3.3
36 changes: 28 additions & 8 deletions .travis.yml
@@ -1,19 +1,39 @@
language: python
python: 2.7

python:
- "3.5"

install:
- pip install tox --use-mirrors
- pip install coveralls
- pip install tox coveralls

env:
- TOXENV=py27
- TOXENV=py32
- TOXENV=py33
- TOXENV=py35
- TOXENV=py34
- TOXENV=py33
- TOXENV=py27
- TOXENV=py26
- TOXENV=pypy
- TOXENV=docs

# command to run tests, e.g. python setup.py test
script:
- tox -e $TOXENV
- coverage run --source=json_config setup.py test
- coverage run setup.py test

after_success:
coveralls
- coveralls

deploy:
provider: pypi
distributions: sdist bdist_wheel
user: bionikspoon
password:
secure: !!binary |
ZkJNaXJhNFBSWTlMeEZEaU5nSlV2OFlKVkVLT2JpVnd2KzFoVWFWMkYvdXJDSTkzemJ2WmcxUWpS
UmgwODFnYVF2VFFYTmxoZTdsclNJSUQwS2RXaysxK2p3b1Y4QjBwZmJKTHBGRDMxOVdOc0dOeXpN
ZnBCUUgrWjc4WTFYZmluMWJJTVFEU3RhLzJFK0NnMXZzTVNKL1hac2Qyb01SWTB1c0U4NE94eDZN
PQ==
on:
tags: true
repo: bionikspoon/json_config
condition: $TOXENV == py35
101 changes: 77 additions & 24 deletions CONTRIBUTING.rst
@@ -1,10 +1,37 @@
.. highlight:: shell
.. START Source defined in docs/github_docs.py
.. This document was procedurally generated by docs/github_docs.py on Thursday, December 31, 2015
.. END Source defined in docs/github_docs.py
.. START Source defined in docs/github_docs.py
.. role:: mod(literal)
.. role:: func(literal)
.. role:: data(literal)
.. role:: const(literal)
.. role:: class(literal)
.. role:: meth(literal)
.. role:: attr(literal)
.. role:: exc(literal)
.. role:: obj(literal)
.. role:: envvar(literal)


.. END Source defined in docs/github_docs.py
.. START Source defined in docs/source/contributing.rst
.. coding=utf-8
============
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

You can contribute in many ways:

Expand All @@ -25,17 +52,21 @@ If you are reporting a bug, please include:
Fix Bugs
~~~~~~~~

Look through the GitHub issues for bugs. Anything tagged with "bug" is open to whoever wants to implement it.
Look through the GitHub issues for bugs. Anything tagged with "bug"
is open to whoever wants to implement it.

Implement Features
~~~~~~~~~~~~~~~~~~

Look through the GitHub issues for features. Anything tagged with "feature" is open to whoever wants to implement it.
Look through the GitHub issues for features. Anything tagged with "feature"
is open to whoever wants to implement it.

Write Documentation
~~~~~~~~~~~~~~~~~~~

json_config could always use more documentation, whether as part of the official json_config docs, in docstrings, or even on the web in blog posts, articles, and such.
json_config could always use more documentation, whether as part of the
official json_config docs, in docstrings, or even on the web in blog posts,
articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~
Expand All @@ -46,57 +77,79 @@ 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 :)
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)

Get Started!
------------

Ready to contribute? Here's how to set up `json_config` for local development.

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

.. code-block:: shell
$ git clone git@github.com:your_name_here/json_config.git
3. Create a branch for local development::
3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development

$ git checkout -b feature/name-of-your-feature development
.. code-block:: shell
$ git checkout -b hotfix/name-of-your-bugfix development
$ mkvirtualenv json_config
$ cd json_config/
$ python setup.py develop
4. Create a branch for local development

.. code-block:: shell
$ git checkout -b feature/name-of-your-feature
$ git checkout -b hotfix/name-of-your-bugfix
Now you can make your changes locally.

4. When you're done making changes, check that your changes pass style and unit tests, including testing other Python versions with tox::
5. When you're done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox

.. code-block:: shell
$ flake8 json_config tests
$ python setup.py test
$ tox
To get tox, just pip install it.
To get flake8 and tox, just pip install them into your virtualenv.
6. Commit your changes and push your branch to GitHub

5. Commit your changes and push your branch to GitHub::
.. code-block:: shell
$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature
6. Submit a pull request through the GitHub website.

.. _Fork: https://github.com/bionikspoon/json_config/fork
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 2.7, and 3.4, and for PyPy.

Check https://travis-ci.org/bionikspoon/json_config under pull requests for active pull requests or run the ``tox`` command and make sure that the tests pass for all supported Python versions.

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 2.6, 2.7, 3.3, 3.4, 3.5, and PyPy. Check
https://travis-ci.org/bionikspoon/json_config/pull_requests
and make sure that the tests pass for all supported Python versions.

Tips
----

To run a subset of tests::
To run a subset of tests

.. code-block:: shell
$ py.test tests/test_json_config.py
$ py.test test/test_json_config.py
.. END Source defined in docs/source/contributing.rst

0 comments on commit f3bc3cb

Please sign in to comment.