intial commit
This commit is contained in:
commit
47915d7bcd
10 changed files with 157 additions and 0 deletions
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# python generated files
|
||||
__pycache__/
|
||||
*.py[oc]
|
||||
build/
|
||||
dist/
|
||||
wheels/
|
||||
*.egg-info
|
||||
|
||||
# venv
|
||||
.venv
|
||||
|
||||
# ruff
|
||||
.ruff_cache
|
1
.python-version
Normal file
1
.python-version
Normal file
|
@ -0,0 +1 @@
|
|||
3.12.3
|
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# test-pkg
|
||||
|
||||
Python packaging tests using Rye (and some typer CLI interface)
|
33
pyproject.toml
Normal file
33
pyproject.toml
Normal file
|
@ -0,0 +1,33 @@
|
|||
[project]
|
||||
name = "test-pkg"
|
||||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
authors = [
|
||||
{ name = "Otthorn", email = "otthorn@crans.org" }
|
||||
]
|
||||
dependencies = [
|
||||
"typer>=0.12.3",
|
||||
]
|
||||
readme = "README.md"
|
||||
requires-python = ">= 3.8"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.rye]
|
||||
managed = true
|
||||
dev-dependencies = []
|
||||
|
||||
[tool.hatch.metadata]
|
||||
allow-direct-references = true
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["src/test_pkg"]
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["I"]
|
||||
|
||||
[tool.rye.scripts]
|
||||
test_pkg = { call = "test_pkg.utils:app" }
|
||||
cli = { call = "test_pkg.cli:app" }
|
27
requirements-dev.lock
Normal file
27
requirements-dev.lock
Normal file
|
@ -0,0 +1,27 @@
|
|||
# generated by rye
|
||||
# use `rye lock` or `rye sync` to update this lockfile
|
||||
#
|
||||
# last locked with the following flags:
|
||||
# pre: false
|
||||
# features: []
|
||||
# all-features: false
|
||||
# with-sources: false
|
||||
# generate-hashes: false
|
||||
|
||||
-e file:.
|
||||
click==8.1.7
|
||||
# via typer
|
||||
markdown-it-py==3.0.0
|
||||
# via rich
|
||||
mdurl==0.1.2
|
||||
# via markdown-it-py
|
||||
pygments==2.18.0
|
||||
# via rich
|
||||
rich==13.7.1
|
||||
# via typer
|
||||
shellingham==1.5.4
|
||||
# via typer
|
||||
typer==0.12.3
|
||||
# via test-pkg
|
||||
typing-extensions==4.12.0
|
||||
# via typer
|
27
requirements.lock
Normal file
27
requirements.lock
Normal file
|
@ -0,0 +1,27 @@
|
|||
# generated by rye
|
||||
# use `rye lock` or `rye sync` to update this lockfile
|
||||
#
|
||||
# last locked with the following flags:
|
||||
# pre: false
|
||||
# features: []
|
||||
# all-features: false
|
||||
# with-sources: false
|
||||
# generate-hashes: false
|
||||
|
||||
-e file:.
|
||||
click==8.1.7
|
||||
# via typer
|
||||
markdown-it-py==3.0.0
|
||||
# via rich
|
||||
mdurl==0.1.2
|
||||
# via markdown-it-py
|
||||
pygments==2.18.0
|
||||
# via rich
|
||||
rich==13.7.1
|
||||
# via typer
|
||||
shellingham==1.5.4
|
||||
# via typer
|
||||
typer==0.12.3
|
||||
# via test-pkg
|
||||
typing-extensions==4.12.0
|
||||
# via typer
|
4
src/test_pkg/__init__.py
Normal file
4
src/test_pkg/__init__.py
Normal file
|
@ -0,0 +1,4 @@
|
|||
import test_pkg.core as core
|
||||
import test_pkg.utils as utils
|
||||
|
||||
__all__ = ["core", "utils"]
|
18
src/test_pkg/cli.py
Normal file
18
src/test_pkg/cli.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
import typer
|
||||
|
||||
app = typer.Typer(no_args_is_help=True)
|
||||
|
||||
@app.callback()
|
||||
def callback():
|
||||
"""
|
||||
Nice defintion
|
||||
"""
|
||||
|
||||
@app.command()
|
||||
def do():
|
||||
print("something")
|
||||
|
||||
@app.command()
|
||||
def dont():
|
||||
print("nothing")
|
6
src/test_pkg/core.py
Normal file
6
src/test_pkg/core.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from test_pkg.utils import do_something
|
||||
|
||||
|
||||
def main():
|
||||
do_something()
|
||||
do_something()
|
25
src/test_pkg/utils.py
Normal file
25
src/test_pkg/utils.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
import time
|
||||
|
||||
import typer
|
||||
from rich.progress import track
|
||||
|
||||
app = typer.Typer()
|
||||
|
||||
|
||||
@app.command()
|
||||
def do_something():
|
||||
print("something")
|
||||
|
||||
|
||||
@app.command()
|
||||
def do(arg1: str = "b", arg2: str = "a"):
|
||||
print(f"arg1 = {arg1}, arg2 = {arg2}")
|
||||
|
||||
@app.command()
|
||||
def prog_test():
|
||||
total = 0
|
||||
for value in track(range(100), description="Processing..."):
|
||||
# Fake processing time
|
||||
time.sleep(0.01)
|
||||
total += 1
|
||||
print(f"Processed {total} things.")
|
Loading…
Reference in a new issue