-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
port setuptools options to declarative config #40
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
[metadata] | ||
name = Genshi | ||
version = 0.8 | ||
description = A toolkit for generation of output for the web | ||
long_description = | ||
Genshi is a Python library that provides an integrated set of | ||
components for parsing, generating, and processing HTML, XML or | ||
other textual content for output generation on the web. The major | ||
feature is a template language, which is heavily inspired by Kid. | ||
author = Edgewall Software | ||
author_email = info@edgewall.org | ||
license = BSD | ||
license_files = COPYING | ||
url = https://github.com/edgewall/genshi | ||
classifiers = | ||
Development Status :: 4 - Beta | ||
Environment :: Web Environment | ||
Intended Audience :: Developers | ||
License :: OSI Approved :: BSD License | ||
Operating System :: OS Independent | ||
Programming Language :: Python | ||
Programming Language :: Python :: 2 | ||
Programming Language :: Python :: 3 | ||
Topic :: Internet :: WWW/HTTP :: Dynamic Content | ||
Topic :: Software Development :: Libraries :: Python Modules | ||
Topic :: Text Processing :: Markup :: HTML | ||
Topic :: Text Processing :: Markup :: XML | ||
keywords = | ||
python.templating.engines | ||
|
||
[options] | ||
# include tests for python3 setup.py test (needed when creating | ||
# source distributions on python2 too so that they work on python3) | ||
packages = | ||
genshi | ||
genshi.filters | ||
genshi.template | ||
genshi.tests | ||
genshi.filters.tests | ||
genshi.template.tests | ||
genshi.template.tests.templates | ||
install_requires = | ||
six | ||
|
||
[options.entry_points] | ||
babel.extractors = | ||
genshi = genshi.filters.i18n:extract[i18n] | ||
python.templating.engines = | ||
genshi = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] | ||
genshi-markup = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] | ||
genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] | ||
|
||
[options.extras_require] | ||
i18n = Babel>=0.8 | ||
plugin = setuptools>=0.6a2 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -98,63 +98,9 @@ def zip_safe(self): | |
extra['include_package_data'] = True | ||
|
||
|
||
# include tests for python3 setup.py test (needed when creating | ||
# source distributions on python2 too so that they work on python3) | ||
packages = [ | ||
'genshi', 'genshi.filters', 'genshi.template', | ||
'genshi.tests', 'genshi.filters.tests', | ||
'genshi.template.tests', | ||
'genshi.template.tests.templates', | ||
] | ||
|
||
|
||
setup( | ||
name = 'Genshi', | ||
version = '0.8', | ||
description = 'A toolkit for generation of output for the web', | ||
long_description = \ | ||
"""Genshi is a Python library that provides an integrated set of | ||
components for parsing, generating, and processing HTML, XML or | ||
other textual content for output generation on the web. The major | ||
feature is a template language, which is heavily inspired by Kid.""", | ||
author = 'Edgewall Software', | ||
author_email = 'info@edgewall.org', | ||
license = 'BSD', | ||
url = 'https://github.com/edgewall/genshi', | ||
|
||
classifiers = [ | ||
'Development Status :: 4 - Beta', | ||
'Environment :: Web Environment', | ||
'Intended Audience :: Developers', | ||
'License :: OSI Approved :: BSD License', | ||
'Operating System :: OS Independent', | ||
'Programming Language :: Python', | ||
'Programming Language :: Python :: 2', | ||
'Programming Language :: Python :: 3', | ||
'Topic :: Internet :: WWW/HTTP :: Dynamic Content', | ||
'Topic :: Software Development :: Libraries :: Python Modules', | ||
'Topic :: Text Processing :: Markup :: HTML', | ||
'Topic :: Text Processing :: Markup :: XML' | ||
], | ||
keywords = ['python.templating.engines'], | ||
packages = packages, | ||
test_suite = 'genshi.tests.suite', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't recall if it's been discussed in this project yet, but the test command is deprecated. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That should really be its own issue, and actually this coincides very well with the other mention here about reorganizing into a tests/ directory. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed -- let's leave messing with the test suite out of things for now. |
||
|
||
install_requires = ['six'], | ||
extras_require = { | ||
'i18n': ['Babel>=0.8'], | ||
'plugin': ['setuptools>=0.6a2'] | ||
}, | ||
entry_points = """ | ||
[babel.extractors] | ||
genshi = genshi.filters.i18n:extract[i18n] | ||
|
||
[python.templating.engines] | ||
genshi = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] | ||
genshi-markup = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] | ||
genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] | ||
""", | ||
|
||
ext_modules = ext_modules, | ||
cmdclass = cmdclass, | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we put just this line back? I actually prefer if files are explicitly listed in
MANIFEST.in
rather than having to guess what other logic elsewhere is including files.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am fine if it is also listed in setup.cfg -- for me that's actually separate information, i.e. "this is a file containing the license" while MANIFEST.in is "please include this file in the source distribution".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a file specifically called out in the metadata, just like
py_modules
orpackages
. But instead of declaring it as an importable source file, it's declared as a dist-info file which must be installed as wheel metadata. Since it must be installed as wheel metadata, it also must be included in the source dist in order to guarantee it makes its way into the wheel, and is thus guaranteed to be collected during the dist creation.I disagree with your analysis -- I don't view this as guessable logic -- but if you still want it I'll put it back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would still like it back -- I have been bitten so often by files not being included in the source distribution that I just want one place that I can look.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, will do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! Apologies for being a pain about it. :|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lol, I wish every PR review was this simple to solve.
"Looks good, just please include this minor nitpicky line that I really like even though it's a no-op."
(I mean, it's lots better than "I disagree with the functionality and would rather you write your own separate program to do X". I've gotten that once or twice for stuff I thought was a no-brainer bugfix.)