Skip to content

Commit

Permalink
Moved the metadata into setup.cfg.
Browse files Browse the repository at this point in the history
+ upgraded setuptools
+ now using pep517 for build
+ ignored some stuff
+ made coverage compute branch coverage
+ made pytest emit a file with the report
  • Loading branch information
KOLANICH committed Feb 27, 2020
1 parent daaa8ca commit 08bf137
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 65 deletions.
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
dist
/build
/dist
/*.egg-info
/stack_data/version.py
*.pyc
*.pyo
__pycache__
12 changes: 9 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@ env:
- STACK_DATA_SLOW_TESTS=1
- COVERALLS_PARALLEL=true

before_install:
- pip install --upgrade coveralls setuptools>=44 setuptools_scm>=3.4.3 pep517

install:
- pip install coveralls
- pip install .[tests]
- python3 -m pep517.build -b .
- ls -l
- export WHLNAME=./dist/stack_data-0.CI-py3-none-any.whl
- mv ./dist/*.whl $WHLNAME
- pip install --upgrade "$WHLNAME[tests]"

script:
- coverage run --include='stack_data/*' -m pytest
- coverage run --branch --include='stack_data/*' -m pytest --junitxml=./rspec.xml
- coverage report -m

after_success:
Expand Down
22 changes: 22 additions & 0 deletions make_release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -eux;

if [${1+x}]; then
if [[ ${1} =~ ^v?([0-9]+)(\.[0-9]+)?(\.[0-9]+)?$ ]]; then
:;
else
echo "Not a valid release tag.";
exit 1;
fi;
else
echo "${0} <major>.<minor>.<patch>";
exit 1;
fi;

export TAG="v${1}";
echo "$TAG"
git tag "${TAG}";
git push origin master "${TAG}";
rm -rf ./build ./dist;
python3 -m pep517.build -b .;
twine upload ./dist/*.whl;
7 changes: 7 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[build-system]
requires = ["setuptools>=44", "wheel", "setuptools_scm[toml]>=3.4.3"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
write_to = "stack_data/version.py"
write_to_template = "__version__ = '{version}'"
28 changes: 28 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[metadata]
name = stack_data
author = Alex Hall
author_email = [email protected]
license = MIT
description = Extract data from python stack frames and tracebacks for informative displays
url = http://github.com/alexmojaki/stack_data
long_description = file: README.md
long_description_content_type = text/markdown
classifiers =
Intended Audience :: Developers
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Topic :: Software Development :: Debuggers

[options]
packages = stack_data
install_requires = executing; asttokens; pure_eval
setup_requires = setuptools>=44; wheel; setuptools_scm[toml]>=3.4.3
include_package_data = True
tests_require = pytest; typeguard; pygments

[options.extras_require]
tests = pytest; typeguard; pygments; pep517
62 changes: 2 additions & 60 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,62 +1,4 @@
import os
import re
from io import open

from setuptools import setup

package = 'stack_data'
dirname = os.path.dirname(__file__)


def file_to_string(*path):
with open(os.path.join(dirname, *path), encoding='utf8') as f:
return f.read()


# __version__ is defined inside the package, but we can't import
# it because it imports dependencies which may not be installed yet,
# so we extract it manually
contents = file_to_string(package, '__init__.py')
__version__ = re.search(r"__version__ = '([.\d]+)'", contents).group(1)

install_requires = [
'executing',
'asttokens',
'pure_eval',
]


tests_require = [
'pytest',
'typeguard',
'pygments',
]

setup(
name=package,
version=__version__,
description="Extract data from python stack frames and tracebacks for informative displays",
# long_description=file_to_string('README.md'),
# long_description_content_type='text/markdown',
url='http://github.com/alexmojaki/' + package,
author='Alex Hall',
author_email='[email protected]',
license='MIT',
include_package_data=True,
packages=[package],
install_requires=install_requires,
tests_require=tests_require,
extras_require={
'tests': tests_require,
},
classifiers=[
'Intended Audience :: Developers',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Topic :: Software Development :: Debuggers',
],
)
if __name__ == "__main__":
setup()
2 changes: 1 addition & 1 deletion stack_data/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
__version__ = '0.0.6'
from .version import __version__

from .core import Source, FrameInfo, markers_from_ranges, Options, LINE_GAP, Line, Variable, RangeInLine, RepeatedFrames, MarkerInLine, style_with_executing_node

0 comments on commit 08bf137

Please sign in to comment.