Skip to content

Commit

Permalink
Merge pull request #3 from mfaafm/feature/restructuring
Browse files Browse the repository at this point in the history
Feature/v2.0.0
  • Loading branch information
mfaafm committed Nov 3, 2019
2 parents 2bba187 + d76cc6e commit dcbf9a8
Show file tree
Hide file tree
Showing 61 changed files with 2,422 additions and 3,055 deletions.
20 changes: 20 additions & 0 deletions .bumpversion.cfg
@@ -0,0 +1,20 @@
[bumpversion]
current_version = 0.2.0
commit = True
tag = True

[bumpversion:file:setup.py]
search = version='{current_version}'
replace = version='{new_version}'

[bumpversion:file:README.rst]
search = v{current_version}.
replace = v{new_version}.

[bumpversion:file:docs/conf.py]
search = version = release = '{current_version}'
replace = version = release = '{new_version}'

[bumpversion:file:src/dasher/__init__.py]
search = __version__ = '{current_version}'
replace = __version__ = '{new_version}'
69 changes: 69 additions & 0 deletions .cookiecutterrc
@@ -0,0 +1,69 @@
# This file exists so you can easily regenerate your project.
#
# `cookiepatcher` is a convenient shim around `cookiecutter`
# for regenerating projects (it will generate a .cookiecutterrc
# automatically for any template). To use it:
#
# pip install cookiepatcher
# cookiepatcher gh:ionelmc/cookiecutter-pylibrary project-path
#
# See:
# https://pypi.org/project/cookiepatcher
#
# Alternatively, you can run:
#
# cookiecutter --overwrite-if-exists --config-file=project-path/.cookiecutterrc gh:ionelmc/cookiecutter-pylibrary

default_context:

_extensions: ['jinja2_time.TimeExtension']
_template: 'gh:ionelmc/cookiecutter-pylibrary'
allow_tests_inside_package: 'no'
appveyor: 'no'
c_extension_function: 'longest'
c_extension_module: '_dasher'
c_extension_optional: 'no'
c_extension_support: 'no'
c_extension_test_pypi: 'no'
c_extension_test_pypi_username: 'mfaafm'
codacy: 'no'
codacy_projectid: '[Get ID from https://app.codacy.com/app/mfaafm/dasher/settings]'
codeclimate: 'no'
codecov: 'no'
command_line_interface: 'no'
command_line_interface_bin_name: 'dasher'
coveralls: 'no'
coveralls_token: '[Required for Appveyor, take it from https://coveralls.io/github/mfaafm/dasher]'
distribution_name: 'dasher'
email: 'm.arts@gmx.net'
full_name: 'Martijn Arts'
landscape: 'no'
license: 'MIT license'
linter: 'flake8'
package_name: 'dasher'
project_name: 'dasher'
project_short_description: 'Generate interactive plotly dash dashboards in an instant'
pypi_badge: 'yes'
pypi_disable_upload: 'no'
release_date: 'today'
repo_hosting: 'github.com'
repo_hosting_domain: 'github.com'
repo_name: 'dasher'
repo_username: 'mfaafm'
requiresio: 'yes'
scrutinizer: 'no'
setup_py_uses_setuptools_scm: 'no'
setup_py_uses_test_runner: 'no'
sphinx_docs: 'yes'
sphinx_docs_hosting: 'https://dasher.readthedocs.io/'
sphinx_doctest: 'no'
sphinx_theme: 'sphinx-rtd-theme'
test_matrix_configurator: 'no'
test_matrix_separate_coverage: 'no'
test_runner: 'pytest'
travis: 'yes'
travis_osx: 'yes'
version: '0.2.0'
website: 'https://github.com/mfaafm/'
year_from: '2019'
year_to: '2019'
16 changes: 16 additions & 0 deletions .coveragerc
@@ -0,0 +1,16 @@
[paths]
source =
src
*/site-packages

[run]
branch = true
source =
dasher
tests
parallel = true

[report]
show_missing = true
precision = 2
omit = *migrations*
13 changes: 13 additions & 0 deletions .editorconfig
@@ -0,0 +1,13 @@
# see https://editorconfig.org/
root = true

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

[*.{bat,cmd,ps1}]
end_of_line = crlf
1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

76 changes: 71 additions & 5 deletions .gitignore
@@ -1,5 +1,71 @@
__pycache__/
build/
*.egg-info/
dist/
.idea/
*.py[cod]
__pycache__

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
.eggs
parts
bin
var
sdist
wheelhouse
develop-eggs
.installed.cfg
lib
lib64
venv*/
pyvenv*/
pip-wheel-metadata/

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox
.coverage.*
.pytest_cache/
nosetests.xml
coverage.xml
htmlcov

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject
.idea
*.iml
*.komodoproject

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

# Sphinx
docs/_build

.DS_Store
*~
.*.sw[po]
.build
.ve
.env
.cache
.pytest
.benchmarks
.bootstrap
.appveyor.token
*.bak

# Mypy Cache
.mypy_cache/
57 changes: 57 additions & 0 deletions .travis.yml
@@ -0,0 +1,57 @@
language: python
dist: xenial
cache: false
env:
global:
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
- SEGFAULT_SIGNALS=all
matrix:
include:
- python: '3.6'
env:
- TOXENV=check
- python: '3.6'
env:
- TOXENV=docs
- env:
- TOXENV=py36
python: '3.6'
- os: osx
language: generic
env:
- TOXENV=py37
- env:
- TOXENV=py37
python: '3.7'
- env:
- TOXENV=py38
python: '3.8'
- env:
- TOXENV=pypy3
- TOXPYTHON=pypy3
python: 'pypy3'
before_install:
- python --version
- uname -a
- lsb_release -a || true
- |
if [[ $TRAVIS_OS_NAME == 'osx' ]]; then
[[ $TOXENV =~ py3 ]] && brew upgrade python
[[ $TOXENV =~ py2 ]] && brew install python@2
export PATH="/usr/local/opt/python/libexec/bin:${PATH}"
fi
install:
- python -mpip install --progress-bar=off tox -rci/requirements.txt
- virtualenv --version
- easy_install --version
- pip --version
- tox --version
script:
- tox -v
after_failure:
- more .tox/log/* | cat
- more .tox/*/log/* | cat
notifications:
email:
on_success: never
on_failure: always
5 changes: 5 additions & 0 deletions AUTHORS.rst
@@ -0,0 +1,5 @@

Authors
=======

* Martijn Arts - https://github.com/mfaafm/
24 changes: 24 additions & 0 deletions CHANGELOG.rst
@@ -0,0 +1,24 @@
Changelog
=========

0.2.0 (2019-11-03)
------------------
* Use cookiecutter to create a proper project structure.
* Refactor core functionality into ``dasher.Api``.
* Combine widget factory and template logic into unified layout implementation.
* Fix resizing bug when switching tabs by using callback-based tab switching.
* Add support of fully custom widgets.
* Add documentation.
* Add more examples.

0.1.2 (2019-07-16)
------------------
* Add ``_labels`` argument to the ``callback`` decorator to enable customization of
widget labels.

0.1.1 (2019-06-10)
------------------
* Add ``credits`` argument to DasherStandardTemplate to toggle whether to show credits
in the navbar.
* Update docstrings and documentation.
* Add margin to navbar.
90 changes: 90 additions & 0 deletions CONTRIBUTING.rst
@@ -0,0 +1,90 @@
============
Contributing
============

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

Bug reports
===========

When `reporting a bug <https://github.com/mfaafm/dasher/issues>`_ 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.

Documentation improvements
==========================

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

Feature requests and feedback
=============================

The best way to send feedback is to file an issue at https://github.com/mfaafm/dasher/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 code contributions are welcome :)

Development
===========

To set up `dasher` for local development:

1. Fork `dasher <https://github.com/mfaafm/dasher>`_
(look for the "Fork" button).
2. Clone your fork locally::

git clone git@github.com:mfaafm/dasher.git

3. Create a branch for local development::

git checkout -b name-of-your-bugfix-or-feature

Now you can make your changes locally.

4. When you're done making changes run all the checks and docs builder with `tox <https://tox.readthedocs.io/en/latest/install.html>`_ one command::

tox

5. 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

6. Submit a pull request through the GitHub website.

Pull Request Guidelines
-----------------------

If you need some code review or feedback while you're developing the code just make the pull request.

For merging, you should:

1. Include passing tests (run ``tox``) [1]_.
2. Update documentation when there's new API, functionality etc.
3. Add a note to ``CHANGELOG.rst`` about the changes.
4. Add yourself to ``AUTHORS.rst``.

.. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will
`run the tests <https://travis-ci.org/mfaafm/dasher/pull_requests>`_ for each change you add in the pull request.
It will be slower though ...
Tips
----

To run a subset of tests::

tox -e envname -- pytest -k test_myfeature

To run all the test environments in *parallel* (you need to ``pip install detox``)::

detox

0 comments on commit dcbf9a8

Please sign in to comment.