Skip to content

Commit

Permalink
Using pyproject and poetry for install (#8)
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnPreston authored Aug 5, 2021
1 parent 2dbddfd commit d1c9b89
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 107 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ FROM $BASE_IMAGE as builder

WORKDIR /opt
COPY ecs_files_composer /opt/ecs_files_composer
COPY setup.py requirements.txt MANIFEST.in README.rst LICENSE /opt/
RUN python -m venv venv ; source venv/bin/activate ; pip install wheel; python setup.py sdist bdist_wheel; ls -l dist/
COPY setup.py pyproject.toml MANIFEST.in README.rst LICENSE /opt/
RUN python -m pip install pip -U; python -m pip install poetry; poetry build

FROM $BASE_IMAGE

Expand Down
28 changes: 26 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,40 @@ version = "0.3.0"
description = "Files and configuration handler to inject configuration files into volumes for ECS containers"
authors = ["John Preston <[email protected]>"]
license = "MPL-2.0"
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Intended Audience :: System Administrators",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)"
]
readme = "README.rst"
keywords=["aws", "ecs", "k8s", "secrets", "docker"]

[tool.poetry.dependencies]
python = "^3.9"
boto3 = "^1.17.110"
python = "^3.7"
boto3 = "^1.18"
pydantic = "^1.8.2"
pyOpenSSL = "^20.0.1"
requests = "^2.26.0"
PyYAML = "^5.4.1"
Jinja2 = "^3.0.1"
jsonschema = "^3.2.0"

[tool.poetry.dev-dependencies]
placebo = "^0.9.0"
datamodel-code-generator = {version = "^0.11.8", extras = ["http"]}

[tool.poetry.scripts]
files_composer = "ecs_files_composer.cli:main"
ecs_files_composer = "ecs_files_composer.cli:main"


[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Expand Down
25 changes: 0 additions & 25 deletions setup.cfg

This file was deleted.

82 changes: 4 additions & 78 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,82 +1,8 @@
#!/usr/bin/env python
# #!/usr/bin/env python
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MPL-2.0
# Copyright 2020-2021 John Mille<[email protected]>

import os
import re
from setuptools import setup

from setuptools import find_packages, setup

DIR_HERE = os.path.abspath(os.path.dirname(__file__))
# REMOVE UNSUPPORTED RST syntax
REF_REGX = re.compile(r"(\:ref\:)")

try:
with open(f"{DIR_HERE}/README.rst", encoding="utf-8") as readme_file:
readme = readme_file.read()
readme = REF_REGX.sub("", readme)
except FileNotFoundError:
readme = "ECS Files Composer"

try:
with open(f"{DIR_HERE}/HISTORY.rst", encoding="utf-8") as history_file:
history = history_file.read()
except FileNotFoundError:
history = "Latest packaged version."

requirements = []
with open(f"{DIR_HERE}/requirements.txt", "r") as req_fd:
for line in req_fd:
requirements.append(line.strip())

test_requirements = []
try:
with open(f"{DIR_HERE}/requirements_dev.txt", "r") as req_fd:
for line in req_fd:
test_requirements.append(line.strip())
except FileNotFoundError:
print("Failed to load dev requirements. Skipping")


setup_requirements = [
"pytest-runner",
]

setup(
author="John Preston",
author_email="[email protected]",
python_requires=">=3.7",
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Intended Audience :: System Administrators",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
],
description="Files and configuration handler to inject configuration files into volumes for ECS containers",
entry_points={
"console_scripts": [
"ecs_files_composer=ecs_files_composer.cli:main",
],
},
install_requires=requirements,
long_description=readme,
long_description_content_type="text/x-rst",
include_package_data=True,
keywords="ecs_files_composer",
name="ecs_files_composer",
packages=find_packages(include=["ecs_files_composer", "ecs_files_composer.*"]),
setup_requires=setup_requirements,
test_suite="tests",
tests_require=test_requirements,
url="https://github.com/compose-x/ecs-files-composer",
version="0.3.0",
zip_safe=False,
license="MPL-2.0",
)
if __name__ == "__main__":
setup()

0 comments on commit d1c9b89

Please sign in to comment.