Skip to content

Commit

Permalink
Update project to match cookiecutter-mopidy-ext
Browse files Browse the repository at this point in the history
The first version of requests officially supporting Python 3.7 is v2.20.0.

The CircleCI build will fail because there isn't a 3.7 wheel for python-spotify on PyPI.
  • Loading branch information
kingosticks committed Nov 16, 2019
1 parent 3facb9d commit 31fd092
Show file tree
Hide file tree
Showing 11 changed files with 200 additions and 130 deletions.
51 changes: 51 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
version: 2.1

orbs:
codecov: codecov/[email protected]

workflows:
version: 2
test:
jobs:
- py38
- py37
- black
- check-manifest
- flake8

jobs:
py38: &test-template
docker:
- image: mopidy/ci-python:3.8
steps:
- checkout
- restore_cache:
name: Restoring tox cache
key: tox-v1-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.cfg" }}
- run:
name: Run tests
command: |
tox -e $CIRCLE_JOB -- \
--junit-xml=test-results/pytest/results.xml \
--cov-report=xml
- save_cache:
name: Saving tox cache
key: tox-v1-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.cfg" }}
paths:
- ./.tox
- ~/.cache/pip
- codecov/upload:
file: coverage.xml
- store_test_results:
path: test-results

py37:
<<: *test-template
docker:
- image: mopidy/ci-python:3.7

black: *test-template

check-manifest: *test-template

flake8: *test-template
17 changes: 8 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
*.egg-info
*.pyc
*.swp
.cache/
.coverage
.tox/
MANIFEST
build/
dist/
xunit-*.xml
/.coverage
/.mypy_cache/
/.pytest_cache/
/.tox/
/*.egg-info
/build/
/dist/
/MANIFEST
42 changes: 0 additions & 42 deletions .travis.yml

This file was deleted.

File renamed without changes.
14 changes: 10 additions & 4 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
include *.py
include *.rst
include *.txt
include .travis.yml
include .mailmap
include LICENSE
include MANIFEST.in
include mopidy_spotify/ext.conf
include mopidy_spotify/spotify_appkey.key
include pyproject.toml
include tox.ini

recursive-include .circleci *
recursive-include .github *

include mopidy_*/ext.conf
include mopidy_spotify/spotify_appkey.key

recursive-include tests *.py
recursive-include tests/data *
19 changes: 10 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
Mopidy-Spotify
**************

.. image:: https://img.shields.io/pypi/v/Mopidy-Spotify.svg?style=flat
:target: https://pypi.python.org/pypi/Mopidy-Spotify/
.. image:: https://img.shields.io/pypi/v/Mopidy-Spotify.svg
:target: https://pypi.org/project/Mopidy-Spotify/
:alt: Latest PyPI version

.. image:: https://img.shields.io/travis/mopidy/mopidy-spotify/develop.svg?style=flat
:target: https://travis-ci.org/mopidy/mopidy-spotify
:alt: Travis CI build status
.. image:: https://img.shields.io/circleci/project/mopidy/mopidy-spotify/develop.svg
:target: https://circleci.com/gh/mopidy/mopidy-spotify
:alt: CircleCI build status

.. image:: https://img.shields.io/coveralls/mopidy/mopidy-spotify/develop.svg?style=flat
:target: https://coveralls.io/r/mopidy/mopidy-spotify
:alt: Test coverage
.. image:: https://img.shields.io/codecov/c/github/mopidy/mopidy-spotify/develop.svg
:target: https://codecov.io/gh/mopidy/mopidy-spotify
:alt: Test coverage

`Mopidy <http://www.mopidy.com/>`_ extension for playing music from
`Spotify <http://www.spotify.com/>`_.
Expand Down Expand Up @@ -115,7 +115,7 @@ OS X: Install the ``mopidy-spotify`` package from the
Else: Install the dependencies listed above yourself, and then install the
package from PyPI::

pip install Mopidy-Spotify
python3 -m pip Mopidy-Spotify


Configuration
Expand Down Expand Up @@ -188,6 +188,7 @@ Project resources

- `Source code <https://github.com/mopidy/mopidy-spotify>`_
- `Issue tracker <https://github.com/mopidy/mopidy-spotify/issues>`_
- `Changelog <https://github.com/mopidy/mopidy-spotify/blob/master/CHANGELOG.rst>`_


Credits
Expand Down
4 changes: 0 additions & 4 deletions dev-requirements.txt

This file was deleted.

17 changes: 17 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[build-system]
requires = ["setuptools >= 30.3.0", "wheel"]


[tool.black]
target-version = ["py37", "py38"]
line-length = 80


[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 88
known_tests = "tests"
sections = "FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,TESTS,LOCALFOLDER"
94 changes: 90 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,92 @@
[flake8]
application-import-names = mopidy_spotify,tests
exclude = .git,.tox
[metadata]
name = Mopidy-Spotify
version = 3.1.0
url = https://github.com/mopidy/mopidy-spotify
author = Stein Magnus Jodal
author_email = [email protected]
license = Apache License, Version 2.0
license_file = LICENSE
description = Mopidy extension for playing music from Spotify
long_description = file: README.rst
classifiers =
Environment :: No Input/Output (Daemon)
Intended Audience :: End Users/Desktop
License :: OSI Approved :: Apache Software License
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Topic :: Multimedia :: Sound/Audio :: Players


[options]
zip_safe = False
include_package_data = True
packages = find:
python_requires = >= 3.7
install_requires =
Mopidy >= 3.0.0a4 # Change to >= 3.0 once final is released
Pykka >= 2.0.1
pyspotify >= 2.0.5
requests >= 2.20.0
setuptools


[options.extras_require]
lint =
black
check-manifest
flake8
flake8-bugbear
flake8-import-order
isort[pyproject]
release =
twine
wheel
test =
pytest
pytest-cov
responses
dev =
%(lint)s
%(release)s
%(test)s


[options.packages.find]
exclude =
tests
tests.*

[wheel]

[options.entry_points]
mopidy.ext =
spotify = mopidy_spotify:Extension


[bdist_wheel]
universal = 1


[flake8]
application-import-names = mopidy_spotify, tests
max-line-length = 80
exclude = .git, .tox, build
select =
# Regular flake8 rules
C, E, F, W
# flake8-bugbear rules
B
# B950: line too long (soft speed limit)
B950
# pep8-naming rules
N
ignore =
# E203: whitespace before ':' (not PEP8 compliant)
E203
# E501: line too long (replaced by B950)
E501
# W503: line break before binary operator (not PEP8 compliant)
W503
# B305: .next() is not a thing on Python 3 (used by playback controller)
B305
47 changes: 2 additions & 45 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,46 +1,3 @@
from __future__ import unicode_literals
from setuptools import setup

import re

from setuptools import find_packages, setup


def get_version(filename):
content = open(filename).read()
metadata = dict(re.findall("__([a-z]+)__ = '([^']+)'", content))
return metadata['version']


setup(
name='Mopidy-Spotify',
version=get_version('mopidy_spotify/__init__.py'),
url='https://github.com/mopidy/mopidy-spotify',
license='Apache License, Version 2.0',
author='Stein Magnus Jodal',
author_email='[email protected]',
description='Mopidy extension for playing music from Spotify',
long_description=open('README.rst').read(),
packages=find_packages(exclude=['tests', 'tests.*']),
zip_safe=False,
include_package_data=True,
install_requires=[
'Mopidy >= 2.0',
'Pykka >= 1.1',
'pyspotify >= 2.0.5',
'requests >= 2.0',
'setuptools',
],
entry_points={
'mopidy.ext': [
'spotify = mopidy_spotify:Extension',
],
},
classifiers=[
'Environment :: No Input/Output (Daemon)',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2',
'Topic :: Multimedia :: Sound/Audio :: Players',
],
)
setup()
25 changes: 12 additions & 13 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
[tox]
envlist = py27, flake8, check-manifest
envlist = py37, py38, black, check-manifest, flake8

[testenv]
sitepackages = true
deps =
https://github.com/mopidy/mopidy/archive/develop.zip
-rdev-requirements.txt
deps = .[test]
commands =
py.test \
python -m pytest \
--basetemp={envtmpdir} \
--cov=mopidy_spotify --cov-report=term-missing \
{posargs}

[testenv:flake8]
deps =
flake8
flake8-import-order
skip_install = true
commands = flake8 mopidy_spotify/ setup.py tests/
[testenv:black]
deps = .[lint]
commands = python -m black --check .

[testenv:check-manifest]
deps = check-manifest
commands = check-manifest
deps = .[lint]
commands = python -m check_manifest

[testenv:flake8]
deps = .[lint]
commands = python -m flake8 --show-source --statistics

0 comments on commit 31fd092

Please sign in to comment.