Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
9 contributors

Users who have contributed to this file

@kennethreitz @timofurrer @vlcinsky @aaronjeline @sdispater @djrobstep @moin18 @zed @emattiza
92 lines (82 sloc) 2.83 KB
import codecs
import os
import re
from setuptools import find_packages, setup
#: Holds a list of packages to install with the binary distribution
PACKAGES = find_packages(where="src")
META_FILE = os.path.abspath("src/maya/__init__.py")
KEYWORDS = ["datetime", "timezone", "scrape", "web"]
CLASSIFIERS = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: Implementation",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development :: Libraries :: Python Modules",
]
#: Holds the runtime requirements for the end user
INSTALL_REQUIRES = [
"humanize",
"pytz",
"dateparser>=0.7.0",
"tzlocal",
"pendulum>=2.0.2",
"snaptime",
]
#: Holds runtime requirements and development requirements
EXTRAS_REQUIRES = {
# extras for contributors
"docs": ["sphinx"],
"tests": ["freezegun", "coverage", "pytest", "pytest-mock"],
}
EXTRAS_REQUIRES["dev"] = (
EXTRAS_REQUIRES["tests"] + EXTRAS_REQUIRES["docs"] + ["pre-commit"]
)
#: Holds the contents of the README file
with codecs.open("README.rst", encoding="utf-8") as readme:
__README_CONTENTS__ = readme.read()
def read(metafile):
"""
Return the contents of the given meta data file assuming UTF-8 encoding.
"""
with codecs.open(str(metafile), encoding="utf-8") as f:
return f.read()
def get_meta(meta, metafile):
"""
Extract __*meta*__ from the given metafile.
"""
contents = read(metafile)
meta_match = re.search(
r"^__{meta}__ = ['\"]([^'\"]*)['\"]".format(meta=meta), contents, re.M
)
if meta_match:
return meta_match.group(1)
raise RuntimeError("Unable to find __{meta}__ string.".format(meta=meta))
setup(
name="maya",
version=get_meta("version", META_FILE),
license=get_meta("license", META_FILE),
description=get_meta("description", META_FILE),
long_description=__README_CONTENTS__,
author=get_meta("author", META_FILE),
author_email=get_meta("author_email", META_FILE),
maintainer=get_meta("author", META_FILE),
maintainer_email=get_meta("author_email", META_FILE),
platforms=["Linux", "Windows", "MAC OS X"],
url=get_meta("url", META_FILE),
download_url=get_meta("download_url", META_FILE),
bugtrack_url=get_meta("bugtrack_url", META_FILE),
packages=PACKAGES,
package_dir={"": "src"},
include_package_data=True,
install_requires=INSTALL_REQUIRES,
extras_require=EXTRAS_REQUIRES,
keywords=KEYWORDS,
classifiers=CLASSIFIERS,
)
You can’t perform that action at this time.