stouputils 1.12.2__tar.gz → 1.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stouputils-1.12.2 → stouputils-1.13.0}/PKG-INFO +1 -1
- {stouputils-1.12.2 → stouputils-1.13.0}/pyproject.toml +1 -3
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/__main__.py +11 -6
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/pypi.py +39 -1
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/pypi.pyi +9 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/ctx.py +408 -408
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/config/set.py +125 -125
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/model_checkpoint_v2.py +31 -31
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/utils.py +285 -285
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/__init__.py +18 -18
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/linux.py +144 -144
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/main.py +223 -223
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/windows.py +136 -136
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/py.typed +1 -1
- stouputils-1.13.0/stouputils/stouputils/__init__.pyi +15 -0
- stouputils-1.13.0/stouputils/stouputils/_deprecated.pyi +12 -0
- stouputils-1.13.0/stouputils/stouputils/all_doctests.pyi +46 -0
- stouputils-1.13.0/stouputils/stouputils/applications/__init__.pyi +2 -0
- stouputils-1.13.0/stouputils/stouputils/applications/automatic_docs.pyi +106 -0
- stouputils-1.13.0/stouputils/stouputils/applications/upscaler/__init__.pyi +3 -0
- stouputils-1.13.0/stouputils/stouputils/applications/upscaler/config.pyi +18 -0
- stouputils-1.13.0/stouputils/stouputils/applications/upscaler/image.pyi +109 -0
- stouputils-1.13.0/stouputils/stouputils/applications/upscaler/video.pyi +60 -0
- stouputils-1.13.0/stouputils/stouputils/archive.pyi +67 -0
- stouputils-1.13.0/stouputils/stouputils/backup.pyi +109 -0
- stouputils-1.13.0/stouputils/stouputils/collections.pyi +86 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/__init__.pyi +5 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/cd_utils.pyi +129 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/github.pyi +162 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/pypi.pyi +53 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/pyproject.pyi +67 -0
- stouputils-1.13.0/stouputils/stouputils/continuous_delivery/stubs.pyi +39 -0
- stouputils-1.13.0/stouputils/stouputils/ctx.pyi +211 -0
- stouputils-1.13.0/stouputils/stouputils/decorators.pyi +242 -0
- stouputils-1.13.0/stouputils/stouputils/image.pyi +172 -0
- stouputils-1.13.0/stouputils/stouputils/installer/__init__.pyi +5 -0
- stouputils-1.13.0/stouputils/stouputils/installer/common.pyi +39 -0
- stouputils-1.13.0/stouputils/stouputils/installer/downloader.pyi +24 -0
- stouputils-1.13.0/stouputils/stouputils/installer/linux.pyi +39 -0
- stouputils-1.13.0/stouputils/stouputils/installer/main.pyi +57 -0
- stouputils-1.13.0/stouputils/stouputils/installer/windows.pyi +31 -0
- stouputils-1.13.0/stouputils/stouputils/io.pyi +213 -0
- stouputils-1.13.0/stouputils/stouputils/parallel.pyi +211 -0
- stouputils-1.13.0/stouputils/stouputils/print.pyi +136 -0
- stouputils-1.13.0/stouputils/version_pkg.pyi +15 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/README.md +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/__init__.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/_deprecated.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/_deprecated.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/all_doctests.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/all_doctests.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/__init__.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/automatic_docs.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/automatic_docs.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/__init__.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/config.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/config.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/image.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/image.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/video.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/applications/upscaler/video.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/archive.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/archive.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/backup.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/backup.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/collections.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/collections.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/__init__.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/cd_utils.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/cd_utils.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/github.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/github.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/pyproject.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/pyproject.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/stubs.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/continuous_delivery/stubs.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/ctx.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/config/get.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/auto_contrast.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/axis_flip.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/bias_field_correction.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/binary_threshold.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/blur.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/brightness.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/canny.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/clahe.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/common.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/contrast.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/curvature_flow_filter.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/denoise.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/histogram_equalization.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/invert.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/laplacian.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/median_blur.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/noise.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/normalize.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/random_erase.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/resize.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/rotation.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/salt_pepper.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/sharpening.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/shearing.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/threshold.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/translation.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image/zoom.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image_augmentation.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/image_preprocess.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/prosthesis_detection.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/data_processing/technique.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/dataset.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/dataset_loader.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/grouping_strategy.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/image_loader.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/dataset/xy_tuple.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/metric_dictionnary.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/metric_utils.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/mlflow_utils.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/abstract_model.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/all.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/base_keras.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/all.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/convnext.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/densenet.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/efficientnet.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/mobilenet.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/resnet.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/squeezenet.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/vgg.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras/xception.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/colored_progress_bar.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/learning_rate_finder.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/progressive_unfreezing.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/callbacks/warmup_scheduler.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/losses/__init__.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/losses/next_generation_loss.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/keras_utils/visualizations.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/model_interface.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/models/sandbox.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/range_tuple.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/scripts/augment_dataset.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/scripts/exhaustive_process.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/scripts/preprocess_dataset.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/data_science/scripts/routine.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/decorators.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/decorators.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/image.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/image.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/__init__.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/common.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/common.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/downloader.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/downloader.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/linux.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/main.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/installer/windows.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/io.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/io.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/parallel.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/parallel.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/print.py +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/print.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0/stouputils}/stouputils/version_pkg.pyi +0 -0
- {stouputils-1.12.2 → stouputils-1.13.0}/stouputils/version_pkg.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: stouputils
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.13.0
|
|
4
4
|
Summary: Stouputils is a collection of utility modules designed to simplify and enhance the development process. It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers, and many more.
|
|
5
5
|
Keywords: utilities,tools,helpers,development,python
|
|
6
6
|
Author: Stoupy51
|
|
@@ -5,12 +5,10 @@ build-backend = "uv_build"
|
|
|
5
5
|
|
|
6
6
|
[tool.uv.build-backend]
|
|
7
7
|
module-root = ""
|
|
8
|
-
module-name = "stouputils"
|
|
9
|
-
ignore-vcs = true
|
|
10
8
|
|
|
11
9
|
[project]
|
|
12
10
|
name = "stouputils"
|
|
13
|
-
version = "1.
|
|
11
|
+
version = "1.13.0"
|
|
14
12
|
description = "Stouputils is a collection of utility modules designed to simplify and enhance the development process. It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers, and many more."
|
|
15
13
|
readme = "README.md"
|
|
16
14
|
keywords = ["utilities", "tools", "helpers", "development", "python"]
|
|
@@ -17,7 +17,7 @@ from .version_pkg import show_version_cli
|
|
|
17
17
|
# Argument Parser Setup for Auto-Completion
|
|
18
18
|
parser = argparse.ArgumentParser(prog="stouputils", add_help=False)
|
|
19
19
|
parser.add_argument("command", nargs="?", choices=[
|
|
20
|
-
"--version", "-v", "version", "show_version", "all_doctests", "archive", "backup"
|
|
20
|
+
"--version", "-v", "version", "show_version", "all_doctests", "archive", "backup", "build"
|
|
21
21
|
])
|
|
22
22
|
parser.add_argument("args", nargs="*")
|
|
23
23
|
argcomplete.autocomplete(parser)
|
|
@@ -47,6 +47,11 @@ def main() -> None:
|
|
|
47
47
|
sys.argv.pop(1) # Remove "backup" from argv so backup_cli gets clean arguments
|
|
48
48
|
return backup_cli()
|
|
49
49
|
|
|
50
|
+
# Handle "build" command
|
|
51
|
+
if second_arg == "build":
|
|
52
|
+
from .continuous_delivery.pypi import pypi_full_routine_using_uv
|
|
53
|
+
return pypi_full_routine_using_uv()
|
|
54
|
+
|
|
50
55
|
# Check if the command is any package name
|
|
51
56
|
if second_arg in (): # type: ignore
|
|
52
57
|
return
|
|
@@ -67,11 +72,11 @@ def main() -> None:
|
|
|
67
72
|
{CYAN}Usage:{RESET} stouputils <command> [options]
|
|
68
73
|
|
|
69
74
|
{CYAN}Available commands:{RESET}
|
|
70
|
-
{GREEN}--version, -v{RESET} [pkg] [-t <depth>]
|
|
71
|
-
|
|
72
|
-
{GREEN}
|
|
73
|
-
{GREEN}
|
|
74
|
-
{GREEN}
|
|
75
|
+
{GREEN}--version, -v{RESET} [pkg] [-t <depth>] Show version information (optionally for a specific package)
|
|
76
|
+
{GREEN}all_doctests{RESET} [dir] Run all doctests in the specified directory
|
|
77
|
+
{GREEN}archive{RESET} --help Archive utilities (make, repair)
|
|
78
|
+
{GREEN}backup{RESET} --help Backup utilities (delta, consolidate, limit)
|
|
79
|
+
{GREEN}build{RESET} [--no_stubs] [<minor|major>] Build and publish package to PyPI using 'uv' tool (complete routine)
|
|
75
80
|
{CYAN}{separator}{RESET}
|
|
76
81
|
""".strip())
|
|
77
82
|
return
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
""" This module contains utilities for PyPI.
|
|
2
2
|
(Using build and twine packages)
|
|
3
3
|
|
|
4
|
-
- pypi_full_routine: Upload the most recent file(s) to PyPI after updating pip and required packages and building the package
|
|
4
|
+
- pypi_full_routine: Upload the most recent file(s) to PyPI after updating pip and required packages and building the package (using build and twine)
|
|
5
|
+
- pypi_full_routine_using_uv: Full build and publish routine using 'uv' command line tool
|
|
5
6
|
|
|
6
7
|
.. image:: https://raw.githubusercontent.com/Stoupy51/stouputils/refs/heads/main/assets/continuous_delivery/pypi_module.gif
|
|
7
8
|
:alt: stouputils pypi examples
|
|
@@ -11,8 +12,10 @@
|
|
|
11
12
|
import os
|
|
12
13
|
import sys
|
|
13
14
|
from collections.abc import Callable
|
|
15
|
+
from typing import Any
|
|
14
16
|
|
|
15
17
|
from ..decorators import LogLevels, handle_error
|
|
18
|
+
from .pyproject import read_pyproject
|
|
16
19
|
|
|
17
20
|
|
|
18
21
|
def update_pip_and_required_packages() -> int:
|
|
@@ -88,4 +91,39 @@ def pypi_full_routine(
|
|
|
88
91
|
for file in files[:last_files]:
|
|
89
92
|
upload_package_function(repository, f"{dist_directory}/{file}")
|
|
90
93
|
|
|
94
|
+
def pypi_full_routine_using_uv() -> None:
|
|
95
|
+
""" Full build and publish routine using 'uv' command line tool.
|
|
96
|
+
|
|
97
|
+
Steps:
|
|
98
|
+
1. Generate stubs unless '--no-stubs' is passed
|
|
99
|
+
2. Increment version in pyproject.toml (patch by default, minor if 'minor' is passed as last argument, 'major' if 'major' is passed)
|
|
100
|
+
3. Build the package using 'uv build'
|
|
101
|
+
4. Upload the most recent file to PyPI using 'uv publish'
|
|
102
|
+
"""
|
|
103
|
+
# Get package name from pyproject.toml
|
|
104
|
+
pyproject_data: dict[str, Any] = read_pyproject("pyproject.toml")
|
|
105
|
+
package_name: str = pyproject_data["project"]["name"]
|
|
106
|
+
package_dir: str = package_name
|
|
107
|
+
if not os.path.isdir(package_dir):
|
|
108
|
+
package_dir = "src/" + package_name
|
|
109
|
+
|
|
110
|
+
# Generate stubs unless '--no-stubs' is passed
|
|
111
|
+
if "--no-stubs" not in sys.argv:
|
|
112
|
+
from .stubs import stubs_full_routine
|
|
113
|
+
stubs_full_routine(package_name, output_directory=package_dir, clean_before=True)
|
|
114
|
+
|
|
115
|
+
# Increment version in pyproject.toml
|
|
116
|
+
increment: str = "patch" if sys.argv[-1] not in ("minor", "major") else sys.argv[-1]
|
|
117
|
+
if os.system(f"uv version --bump {increment} --frozen") != 0:
|
|
118
|
+
raise Exception("Error while incrementing version using 'uv version'")
|
|
119
|
+
|
|
120
|
+
# Build the package using 'uv build'
|
|
121
|
+
import shutil
|
|
122
|
+
shutil.rmtree("dist", ignore_errors=True)
|
|
123
|
+
if os.system(f"{sys.executable} -m uv build") != 0:
|
|
124
|
+
raise Exception("Error while building the package using 'uv build'")
|
|
125
|
+
|
|
126
|
+
# Upload the most recent file to PyPI using 'uv publish'
|
|
127
|
+
if os.system(f"{sys.executable} -m uv publish") != 0:
|
|
128
|
+
raise Exception("Error while publishing the package using 'uv publish'")
|
|
91
129
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from ..decorators import LogLevels as LogLevels, handle_error as handle_error
|
|
2
|
+
from .pyproject import read_pyproject as read_pyproject
|
|
2
3
|
from collections.abc import Callable as Callable
|
|
3
4
|
|
|
4
5
|
def update_pip_and_required_packages() -> int:
|
|
@@ -41,3 +42,11 @@ def pypi_full_routine(repository: str, dist_directory: str, last_files: int = 1,
|
|
|
41
42
|
\tReturns:
|
|
42
43
|
\t\tint: Return code of the command.
|
|
43
44
|
\t'''
|
|
45
|
+
def pypi_full_routine_using_uv() -> None:
|
|
46
|
+
""" Full build and publish routine using 'uv' command line tool.
|
|
47
|
+
|
|
48
|
+
\tSteps:
|
|
49
|
+
\t\t1. Generate stubs unless '--no-stubs' is passed
|
|
50
|
+
\t\t2. Build the package using 'uv build'
|
|
51
|
+
\t\t3. Upload the most recent file to PyPI using 'uv publish'
|
|
52
|
+
\t"""
|