Skip to content

Commit

Permalink
Merge pull request #339 from codl/pyproject-toml
Browse files Browse the repository at this point in the history
migrate to pyproject.toml
  • Loading branch information
halcy committed May 11, 2023
2 parents 3d5b94f + b08a15e commit 2d9fcff
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 81 deletions.
11 changes: 5 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
- checkout
- run:
name: "Install test deps"
command: "pip install .[test]"
command: "pip install .[test,webpush,blurhash]"
- run:
name: "Run tests"
command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
Expand All @@ -20,7 +20,7 @@ jobs:
- checkout
- run:
name: "Install test deps"
command: "pip install .[test]"
command: "pip install .[test,webpush,blurhash]"
- run:
name: "Run tests"
command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
Expand All @@ -33,7 +33,7 @@ jobs:
- checkout
- run:
name: "Install test deps"
command: "pip install .[test]"
command: "pip install .[test,webpush,blurhash]"
- run:
name: "Install codecov"
command: "pip install codecov"
Expand All @@ -52,7 +52,7 @@ jobs:
- checkout
- run:
name: "Install test deps"
command: "pip install .[test]"
command: "pip install .[test,webpush,blurhash]"
- run:
name: "Run tests"
command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
Expand All @@ -65,7 +65,7 @@ jobs:
- checkout
- run:
name: "Install test deps"
command: "pip install .[test]"
command: "pip install .[test,webpush,blurhash]"
- run:
name: "Run tests"
command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
Expand All @@ -79,4 +79,3 @@ workflows:
- run-tests-38-cov
- run-tests-39
- run-tests-310

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

[project]
name = "Mastodon.py"
version = "1.8.1"
description = "Python wrapper for the Mastodon API"
readme = "README.rst"
authors = [
{ name = "Lorenz Diener", email = "lorenzd+mastodonpypypi@gmail.com" },
]
license = {text = "MIT"}
keywords = ["mastodon", "api", "microblogging"]
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Topic :: Communications',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
]
dependencies = [
'requests>=2.4.2',
'python-dateutil',
'six',
'python-magic-bin ; platform_system=="Windows"',
'python-magic ; platform_system!="Windows"',
'decorator>=4.0.0',
'blurhash>=1.1.4',
]

[project.optional-dependencies]
webpush = [
'http_ece>=1.0.5',
'cryptography>=1.6.0',
]
blurhash = [
'blurhash>=1.1.4',
]
test = [
'pytest',
'pytest-runner',
'pytest-cov',
'vcrpy',
'pytest-vcr',
'pytest-mock',
'requests-mock',
'pytz',
]

[project.urls]
Repository="https://github.com/halcy/Mastodon.py"
Documentation="https://mastodonpy.readthedocs.io/"

[tool.pytest.ini_options]
addopts = "--cov=mastodon"
13 changes: 0 additions & 13 deletions setup.cfg

This file was deleted.

61 changes: 1 addition & 60 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,62 +1,3 @@
from pathlib import Path

from setuptools import setup

test_deps = [
'pytest',
'pytest-runner',
'pytest-cov',
'vcrpy',
'pytest-vcr',
'pytest-mock',
'requests-mock',
'pytz'
]

webpush_deps = [
'http_ece>=1.0.5',
'cryptography>=1.6.0',
]

blurhash_deps = [
'blurhash>=1.1.4',
]

extras = {
"test": test_deps + webpush_deps + blurhash_deps,
"webpush": webpush_deps,
"blurhash": blurhash_deps,
}

this_directory = Path(__file__).parent
long_description = (this_directory / "README.rst").read_text()

setup(name='Mastodon.py',
version='1.8.1',
description='Python wrapper for the Mastodon API',
long_description=long_description,
long_description_content_type='text/x-rst',
packages=['mastodon'],
install_requires=[
'requests>=2.4.2',
'python-dateutil',
'six',
'python-magic-bin ; platform_system=="Windows"', # pragma: no cover
'python-magic ; platform_system!="Windows"',
'decorator>=4.0.0',
] + blurhash_deps,
tests_require=test_deps,
extras_require=extras,
url='https://github.com/halcy/Mastodon.py',
author='Lorenz Diener',
author_email='lorenzd+mastodonpypypi@gmail.com',
license='MIT',
keywords='mastodon api microblogging',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Topic :: Communications',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
])
setup()
2 changes: 1 addition & 1 deletion tests/README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

To run this test suite, install the testing dependencies:

pip install -e .[test]
pip install -e .[test,webpush,blurhash]

Then, run `pytest`.

Expand Down
4 changes: 4 additions & 0 deletions tests/test_blurhash.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import pytest

import mastodon.compat
if not mastodon.compat.IMPL_HAS_BLURHASH:
pytest.skip("blurhash dependencies missing, skipping blurhash tests", allow_module_level=True)

def test_blurhash_decode(api):
fake_media_dict = {
'width': 320,
Expand Down
4 changes: 4 additions & 0 deletions tests/test_push.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
import time
from mastodon.Mastodon import MastodonNotFoundError

import mastodon.compat
if not mastodon.compat.IMPL_HAS_CRYPTO or not mastodon.compat.IMPL_HAS_ECE:
pytest.skip("webpush dependencies missing, skipping webpush tests", allow_module_level=True)

def test_decrypt(api):
priv = {
'auth': b'\xe7y\x0fp\xb9\x92\xe0\xa0\xc5\xd5~Qr\xd7\xaa\x16',
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ skipsdist = true


[testenv]
deps = .[test]
deps = .[test,webpush,blurhash]
commands = python setup.py test

0 comments on commit 2d9fcff

Please sign in to comment.