Skip to content

Commit

Permalink
global: move from setup.py to setup.cfg
Browse files Browse the repository at this point in the history
  • Loading branch information
lnielsen committed Apr 13, 2022
1 parent 3e86dfe commit 3055d66
Show file tree
Hide file tree
Showing 9 changed files with 72 additions and 161 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
pip install setuptools wheel babel
- name: Build package
run: |
python setup.py compile_catalog sdist bdist_wheel
Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,13 @@ jobs:
db-service: postgresql13

include:
- db-service: postgresql10
DB_EXTRAS: "postgresql"

- db-service: postgresql13
DB_EXTRAS: "postgresql"

- search-service: elasticsearch7
SEARCH_EXTRAS: "elasticsearch7"

env:
DB: ${{ matrix.db-service }}
SEARCH: ${{ matrix.search-service }}
EXTRAS: all,${{ matrix.SEARCH_EXTRAS }},${{ matrix.DB_EXTRAS }}
EXTRAS: tests,${{ matrix.SEARCH_EXTRAS }}

steps:
- name: Checkout
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ var/
*.egg
Pipfile
Pipfile.lock
pyproject.toml

# PyInstaller
# Usually these files are written by a python script from a template
Expand Down
12 changes: 3 additions & 9 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

import sphinx.environment

from invenio_vocabularies import __version__

# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand Down Expand Up @@ -57,15 +59,7 @@
# The short X.Y version.

# Get the version string. Cannot be done with import!
g = {}
with open(
os.path.join(
os.path.dirname(__file__), "..", "invenio_vocabularies", "version.py"
),
"rt",
) as fp:
exec(fp.read(), g)
version = g["__version__"]
version = __version__

# The full version, including alpha/beta/rc tags.
release = version
Expand Down
3 changes: 2 additions & 1 deletion invenio_vocabularies/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"""Invenio module for managing vocabularies."""

from .ext import InvenioVocabularies
from .version import __version__

__version__ = "0.11.1"

__all__ = ("__version__", "InvenioVocabularies")
16 changes: 0 additions & 16 deletions invenio_vocabularies/version.py

This file was deleted.

3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools", "wheel", "babel>2.8"]
build-backend = "setuptools.build_meta"
61 changes: 60 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,12 +1,71 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020 CERN.
# Copyright (C) 2020-2022 CERN.
# Copyright (C) 2021 Graz University of Technology.
#
# Invenio-Vocabularies is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.

[metadata]
name = invenio-vocabularies
version = attr: invenio_vocabularies.__version__
description = "Invenio module for managing vocabularies."
long_description = file: README.rst, CHANGES.rst
keywords = invenio vocabulary management
license = MIT
author = CERN
author_email = [email protected]
platforms = any
url = https://github.com/inveniosoftware/invenio-vocabularies
classifiers =
Development Status :: 3 - Alpha

[options]
include_package_data = True
packages = find:
python_requires = >=3.6
zip_safe = False
install_requires =
invenio-records-resources>=0.19.9,<0.20.0
lxml>=4.5.0
PyYAML>=5.4.1

[options.extras_require]
tests =
invenio-app>=1.3.3
invenio-db[postgresql,mysql,versioning]>=1.0.14,<2.0.0
pytest-invenio>=1.4.7
Sphinx>=3,<4
elasticsearch6 =
invenio-search[elasticsearch6]>=1.4.2,<2.0
elasticsearch7 =
invenio-search[elasticsearch7]>=1.4.2,<2.0
# Kept for backwards compatibility:
mysql =
postgresql =
sqllite =

[options.entry_points]
flask.commands =
vocabularies = invenio_vocabularies.cli:vocabularies
invenio_base.apps =
invenio_vocabularies = invenio_vocabularies:InvenioVocabularies
invenio_base.api_apps =
invenio_vocabularies = invenio_vocabularies:InvenioVocabularies
invenio_base.api_blueprints =
invenio_vocabularies = invenio_vocabularies.views:create_blueprint_from_app
invenio_db.alembic =
invenio_vocabularies = invenio_vocabularies:alembic
invenio_db.models =
vocabulary_model = invenio_vocabularies.records.models
invenio_jsonschemas.schemas =
jsonschemas = invenio_vocabularies.records.jsonschemas
invenio_search.mappings =
vocabularies = invenio_vocabularies.records.mappings
invenio_i18n.translations =
invenio_vocabularies = invenio_vocabularies


[build_sphinx]
source-dir = docs/
Expand Down
127 changes: 2 additions & 125 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,129 +9,6 @@

"""Invenio module for managing vocabularies."""

import os
from setuptools import setup

from setuptools import find_packages, setup

readme = open("README.rst").read()
history = open("CHANGES.rst").read()

tests_require = [
"invenio-app>=1.3.3",
"pytest-invenio>=1.4.3",
]

# Should follow inveniosoftware/invenio versions
invenio_search_version = ">=1.4.2,<2.0.0"
invenio_db_version = ">=1.0.14,<2.0.0"

extras_require = {
"docs": [
"Sphinx>=3,<4",
],
"elasticsearch6": [
"invenio-search[elasticsearch6]{}".format(invenio_search_version),
],
"elasticsearch7": [
"invenio-search[elasticsearch7]{}".format(invenio_search_version),
],
# Databases
"mysql": [
"invenio-db[mysql,versioning]{}".format(invenio_db_version),
],
"postgresql": [
"invenio-db[postgresql,versioning]{}".format(invenio_db_version),
],
"sqlite": [
"invenio-db[versioning]{}".format(invenio_db_version),
],
"tests": tests_require,
}

all_requires = []
for key, reqs in extras_require.items():
if key in {"elasticsearch6", "elasticsearch7"}:
continue
all_requires.extend(reqs)
extras_require["all"] = all_requires

setup_requires = [
"Babel>=2.8",
]

install_requires = [
"invenio-records-resources>=0.19.9,<0.20.0",
"lxml>=4.5.0",
"PyYAML>=5.4.1",
]

packages = find_packages()

# Get the version string. Cannot be done with import!
g = {}
with open(os.path.join("invenio_vocabularies", "version.py"), "rt") as fp:
exec(fp.read(), g)
version = g["__version__"]

setup(
name="invenio-vocabularies",
version=version,
description=__doc__,
long_description=readme + "\n\n" + history,
keywords="invenio vocabulary management",
license="MIT",
author="CERN",
author_email="[email protected]",
url="https://github.com/inveniosoftware/invenio-vocabularies",
packages=packages,
zip_safe=False,
include_package_data=True,
platforms="any",
entry_points={
"flask.commands": [
"vocabularies = invenio_vocabularies.cli:vocabularies",
],
"invenio_base.apps": [
"invenio_vocabularies = invenio_vocabularies:InvenioVocabularies",
],
"invenio_base.api_apps": [
"invenio_vocabularies = invenio_vocabularies:InvenioVocabularies",
],
"invenio_base.api_blueprints": [
'invenio_vocabularies = invenio_vocabularies.views:create_blueprint_from_app',
],
"invenio_db.alembic": [
"invenio_vocabularies = invenio_vocabularies:alembic",
],
"invenio_db.models": [
"vocabulary_model = invenio_vocabularies.records.models",
],
"invenio_jsonschemas.schemas": [
"jsonschemas = invenio_vocabularies.records.jsonschemas",
],
"invenio_search.mappings": [
"vocabularies = invenio_vocabularies.records.mappings",
],
'invenio_i18n.translations': [
'invenio_vocabularies = invenio_vocabularies',
],
},
extras_require=extras_require,
install_requires=install_requires,
setup_requires=setup_requires,
tests_require=tests_require,
classifiers=[
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Development Status :: 3 - Alpha",
],
)
setup()

0 comments on commit 3055d66

Please sign in to comment.