Skip to content

Commit 5952e0f

Browse files
authored
Merge pull request #72 from seratch/cleanup-and-migration
Improve PyPI packaging & upgrade test dependencies
2 parents d96e7e3 + 61621df commit 5952e0f

File tree

9 files changed

+59
-57
lines changed

9 files changed

+59
-57
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ tests/.cache
1515
.vscode/
1616
.eggs/
1717
build/
18+
.python-version

.travis.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
dist: trusty
1+
dist: xenial
22
language: python
33
python:
44
- "2.7"
5-
- "3.4"
65
- "3.5"
76
- "3.6"
7+
- "3.7"
8+
- "3.8"
89
install:
9-
- travis_retry pip install -r requirements.txt
10-
- travis_retry pip install flake8
11-
- travis_retry pip install -r requirements-dev.txt
10+
- pip install -U pip pytest # python 2.7 requires pytest 4
11+
- python setup.py install
12+
- pip install flake8
13+
- pip install -r requirements-dev.txt
1214
script:
1315
- flake8 slackeventsapi
14-
- py.test --cov-report= --cov=slackeventsapi tests
16+
- pytest --cov-report= --cov=slackeventsapi tests
1517
after_success:
1618
- codecov -e $TRAVIS_PYTHON_VERSION

requirements-dev.txt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
coveralls==1.1
2-
ipdb==0.9.3
3-
ipython==4.1.2
4-
pdbpp==0.10.2
5-
pytest>=3.2.0,<4.0.0
6-
pytest-flask==0.10.0
7-
pytest-mock>=1.6.3
8-
pytest-cov==2.5.1
9-
pytest-pythonpath==0.7.1
10-
testfixtures==5.3.1
11-
tox==2.9.1
12-
werkzeug==0.16.1
1+
coveralls<2
2+
pytest<6 # python 2.7 requires pytest 4
3+
pytest-flask<2
4+
pytest-mock<2
5+
pytest-cov<3
6+
pytest-pythonpath<0.8
7+
testfixtures<7
8+
werkzeug<2

requirements.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

run_clean_test.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
pip install -U pip && \
3+
pip freeze | xargs pip uninstall -y && \
4+
python setup.py install && \
5+
pip install -r requirements-dev.txt && \
6+
pytest tests

setup.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
[metadata]
2-
description-file = README.rst
1+
[bdist_wheel]
2+
universal = 1

setup.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,40 @@ def find_version(*file_paths):
2020
version_file, re.M)
2121
if version_match:
2222
return version_match.group(1)
23-
raise RuntimeError("Unable to find version string.")
23+
raise RuntimeError('Unable to find version string.')
24+
25+
with open("README.rst", "r") as fh:
26+
long_description = fh.read()
2427

2528
setup(name='slackeventsapi',
2629
version=find_version('slackeventsapi', 'version.py'),
27-
description='Python Slack Events API adapter',
30+
description='Python Slack Events API adapter for Flask',
2831
url='http://github.com/slackapi/python-slack-events-api',
2932
author='Slack Technologies, Inc.',
3033
author_email='[email protected]',
3134
license='MIT',
3235
packages=['slackeventsapi'],
36+
long_description_content_type='text/x-rst',
37+
long_description=long_description,
3338
install_requires=[
34-
'flask',
35-
'pyee',
36-
'requests',
37-
'six',
39+
'flask>=1,<2',
40+
'pyee>=7,<8',
41+
'itsdangerous<2', # for Python 2.7
42+
'Jinja2<3', # for Python 2.7
43+
'MarkupSafe<2', # for Python 2.7
3844
],
3945
classifiers=[
40-
"Development Status :: 5 - Production/Stable",
41-
"Intended Audience :: Developers",
42-
"Topic :: Communications :: Chat",
43-
"Topic :: System :: Networking",
44-
"Topic :: Office/Business",
45-
"License :: OSI Approved :: MIT License",
46-
"Programming Language :: Python",
47-
"Programming Language :: Python :: 2.7",
48-
"Programming Language :: Python :: 3.5",
49-
"Programming Language :: Python :: 3.6",
50-
"Programming Language :: Python :: 3.7",
51-
"Programming Language :: Python :: 3.8",
46+
'Development Status :: 5 - Production/Stable',
47+
'Intended Audience :: Developers',
48+
'Topic :: Communications :: Chat',
49+
'Topic :: System :: Networking',
50+
'Topic :: Office/Business',
51+
'License :: OSI Approved :: MIT License',
52+
'Programming Language :: Python',
53+
'Programming Language :: Python :: 2.7',
54+
'Programming Language :: Python :: 3.5',
55+
'Programming Language :: Python :: 3.6',
56+
'Programming Language :: Python :: 3.7',
57+
'Programming Language :: Python :: 3.8',
5258
],
5359
zip_safe=False)

slackeventsapi/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
from pyee import EventEmitter
1+
from pyee import BaseEventEmitter
22
from .server import SlackServer
33

44

5-
class SlackEventAdapter(EventEmitter):
5+
class SlackEventAdapter(BaseEventEmitter):
66
# Initialize the Slack event server
77
# If no endpoint is provided, default to listening on '/slack/events'
88
def __init__(self, signing_secret, endpoint="/slack/events", server=None, **kwargs):
9-
EventEmitter.__init__(self)
9+
BaseEventEmitter.__init__(self)
1010
self.signing_secret = signing_secret
1111
self.server = SlackServer(signing_secret, endpoint, self, server, **kwargs)
1212

tests/conftest.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,18 @@ def event_with_bad_token():
3030
return json.dumps(event_data)
3131

3232

33-
def pytest_namespace():
34-
return {
35-
'reaction_event_fixture': load_event_fixture('reaction_added'),
36-
'url_challenge_fixture': load_event_fixture('url_challenge'),
37-
'bad_token_fixture': event_with_bad_token(),
38-
'create_signature': create_signature
39-
}
33+
def pytest_configure():
34+
pytest.reaction_event_fixture = load_event_fixture('reaction_added')
35+
pytest.url_challenge_fixture = load_event_fixture('url_challenge')
36+
pytest.bad_token_fixture = event_with_bad_token()
37+
pytest.create_signature = create_signature
4038

4139
@pytest.fixture
4240
def adapter():
4341
return SlackEventAdapter("SIGNING_SECRET")
4442

4543
@pytest.fixture
46-
def app():
47-
events_adapter = adapter()
48-
app = events_adapter.server
44+
def app(adapter):
45+
app = adapter.server
4946
app.testing = True
5047
return app

0 commit comments

Comments
 (0)