project structure and packaging revamp#188
Conversation
* deleted top level `__init__.py` - its not part of the default code structure * improved `setup.py`: - DRYed up `install_requires` by allowing `requirements.txt` to just read from here - gave dependencies version ranges - added `long_description` property - changed `url` property to an https one - changed `author` and `author_email` property to reflect the entire company - added `classifiers` property - added `keywords` property - remove `zip_safe` property * specified `flake8` configuration in `.flake8` * added support for py33 (its not EOL until sept 2017) * modified travis build - use travis' own virtualenv switching system instead of relying on tox to do it - fail earlier if lint does not succeed - moved `coverage` tool configuration to `.coveragerc` * enabled binary distribution as a universal wheel (python2 and python3) * removed unncessary test dependencies * simplified and commented `tox.ini` - implemented docs generation as a tox task * remove single underscore for all filenames inside `slackclient/` (except `__init__.py`) * change `slackclient/__init__.py` to `from .client import SlackClient` * badges for python version support * get CI for windows (AppVeyor) * added new oss-guidelines
Roach
left a comment
There was a problem hiding this comment.
🙌 Awesome work here, this module has been needing some cleanup
|
3 things to address before we merge:
To kick off the discussion on the versioning: the reason for renaming them in the first place is to adhere with module naming best practices:
the rationale for not introducing this in a major version is that the submodules were previously "internal" bits of the SDK so no external users should depend on them, and as such this shouldn't break anyone's code. i think we need a few more opinions here, so i'll loop in some folks (@Roach, @karishay, @Yasumoto , @rawdigits, @harrisonpage, @rickhanlonii) |
|
here's an alternative that might be worth implementing: https://stackoverflow.com/a/3645219/305340 the recommendation is to create a submodule called |
Codecov Report
@@ Coverage Diff @@
## master #188 +/- ##
==========================================
- Coverage 66.44% 61.84% -4.61%
==========================================
Files 9 9
Lines 304 304
Branches 0 56 +56
==========================================
- Hits 202 188 -14
Misses 102 102
- Partials 0 14 +14
Continue to review full report at Codecov.
|
project structure and packaging revamp
deleted top level
__init__.py- its not part of the default code structureimproved
setup.py:install_requiresby allowingrequirements.txtto just read from herelong_descriptionpropertyurlproperty to an https oneauthorandauthor_emailproperty to reflect the entire companyclassifierspropertykeywordspropertyzip_safepropertyspecified
flake8configuration in.flake8added support for py33 (its not EOL until sept 2017)
modified travis build
coveragetool configuration to.coveragercenabled binary distribution as a universal wheel (python2 and python3)
removed unncessary test dependencies
simplified and commented
tox.iniremove single underscore for all filenames inside
slackclient/(except__init__.py)change
slackclient/__init__.pytofrom .client import SlackClientbadges for python version support
get CI for windows (AppVeyor)
added new oss-guidelines
I've read and understood the Contributing guidelines and have done my best effort to follow them.
I've read and agree to the Code of Conduct.
I've been mindful about doing atomic commits, adding documentation to my changes, not refactoring too much.
I've a descriptive title and added any useful information for the reviewer. Where appropriate, I've attached a screenshot and/or screencast (gif preferably).
I've written tests to cover the new code and functionality included in this PR.
I've read, agree to, and signed the Contributor License Agreement (CLA).