improve-cli 0.1.0__tar.gz → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: improve-cli
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: CLI project tracker with CSV-backed logs
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -31,8 +31,13 @@ Improve is a small, single-file CLI application (with supporting modules under `
31
31
  - No third-party runtime dependencies. The package is defined in [pyproject.toml](pyproject.toml); [requirements.txt](requirements.txt) only lists standard-library modules for reference and is not used by pip.
32
32
 
33
33
  ## **Install with pip**
34
+ Firstly, make sure pip is updated and present in PATH
34
35
 
35
- From a clone of this repository (recommended: use a virtual environment):
36
+ ```bash
37
+ pip install improve-cli
38
+ ```
39
+
40
+ **From a clone of this repository (recommended: use a virtual environment):**
36
41
 
37
42
  ```bash
38
43
  python3 -m venv .venv
@@ -48,12 +53,6 @@ For local development (changes to `improve.py` or `src/` apply without reinstall
48
53
  pip install -e .
49
54
  ```
50
55
 
51
- Install a built wheel without cloning:
52
-
53
- ```bash
54
- pip install dist/improve_cli-0.1.0-py3-none-any.whl
55
- ```
56
-
57
56
  ## **Build from source**
58
57
 
59
58
  Build sdist and wheel artifacts into `dist/` (requires [build](https://pypi.org/project/build/) once per environment):
@@ -161,4 +160,7 @@ improve export
161
160
  - Rebuild distributables with `python -m build` after packaging changes.
162
161
  - The codebase is small and intended as a learning/demo project. Contributions or issues can be opened against the original upstream repository referenced in the code comments.
163
162
 
163
+ ### License
164
+ This project is licensed under MIT License.
165
+
164
166
 
@@ -22,8 +22,13 @@ Improve is a small, single-file CLI application (with supporting modules under `
22
22
  - No third-party runtime dependencies. The package is defined in [pyproject.toml](pyproject.toml); [requirements.txt](requirements.txt) only lists standard-library modules for reference and is not used by pip.
23
23
 
24
24
  ## **Install with pip**
25
+ Firstly, make sure pip is updated and present in PATH
25
26
 
26
- From a clone of this repository (recommended: use a virtual environment):
27
+ ```bash
28
+ pip install improve-cli
29
+ ```
30
+
31
+ **From a clone of this repository (recommended: use a virtual environment):**
27
32
 
28
33
  ```bash
29
34
  python3 -m venv .venv
@@ -39,12 +44,6 @@ For local development (changes to `improve.py` or `src/` apply without reinstall
39
44
  pip install -e .
40
45
  ```
41
46
 
42
- Install a built wheel without cloning:
43
-
44
- ```bash
45
- pip install dist/improve_cli-0.1.0-py3-none-any.whl
46
- ```
47
-
48
47
  ## **Build from source**
49
48
 
50
49
  Build sdist and wheel artifacts into `dist/` (requires [build](https://pypi.org/project/build/) once per environment):
@@ -152,4 +151,7 @@ improve export
152
151
  - Rebuild distributables with `python -m build` after packaging changes.
153
152
  - The codebase is small and intended as a learning/demo project. Contributions or issues can be opened against the original upstream repository referenced in the code comments.
154
153
 
154
+ ### License
155
+ This project is licensed under MIT License.
156
+
155
157
 
@@ -4,6 +4,7 @@
4
4
  """https://github.com/harshit-malik25813/Improve"""
5
5
  import argparse # To include the functionality of parsing the arguements
6
6
  import json # To Read JSON file containing the user data
7
+ from functools import lru_cache
7
8
  from pathlib import Path # To locate the path of essential tracking data
8
9
  # Essential helper functions imported
9
10
  from src import helpers, setup as setup_mod, project as project_mod
@@ -11,6 +12,36 @@ from src.help import show_help, commands
11
12
 
12
13
  # User tracking path
13
14
  USER_FILE = Path("tracking") / "user_info.json"
15
+ PROJECT_ROOT = Path(__file__).resolve().parent
16
+ PYPROJECT_FILE = PROJECT_ROOT / "pyproject.toml"
17
+
18
+
19
+ @lru_cache(maxsize=1)
20
+ def _load_version():
21
+ try:
22
+ try:
23
+ import tomllib
24
+ except ModuleNotFoundError:
25
+ tomllib = None
26
+ if tomllib is not None:
27
+ with PYPROJECT_FILE.open("rb") as f:
28
+ data = tomllib.load(f)
29
+ return data["project"]["version"]
30
+ in_project_section = False
31
+ with PYPROJECT_FILE.open("r", encoding="utf-8") as f:
32
+ for raw_line in f:
33
+ line = raw_line.strip()
34
+ if not line or line.startswith("#"):
35
+ continue
36
+ if line.startswith("[") and line.endswith("]"):
37
+ in_project_section = line == "[project]"
38
+ continue
39
+ if in_project_section and line.startswith("version"):
40
+ _, value = line.split("=", 1)
41
+ return value.strip().strip('"').strip("'")
42
+ return "unknown"
43
+ except (FileNotFoundError, KeyError, ValueError, OSError):
44
+ return "unknown"
14
45
 
15
46
  # Internal function to load user data and return it
16
47
  def _load_user():
@@ -23,6 +54,7 @@ def _load_user():
23
54
  def main():
24
55
  # Adding argument parsers
25
56
  parser = argparse.ArgumentParser(prog="improve", description="Improve CLI") # Initiate parsing of arguements
57
+ parser.add_argument("--version", action="version", version=f"improve-cli {_load_version()}\nDeveloped by harshit-malik25813")
26
58
  # Allow subparsers in the program
27
59
  subparsers = parser.add_subparsers(dest="command")
28
60
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: improve-cli
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: CLI project tracker with CSV-backed logs
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -31,8 +31,13 @@ Improve is a small, single-file CLI application (with supporting modules under `
31
31
  - No third-party runtime dependencies. The package is defined in [pyproject.toml](pyproject.toml); [requirements.txt](requirements.txt) only lists standard-library modules for reference and is not used by pip.
32
32
 
33
33
  ## **Install with pip**
34
+ Firstly, make sure pip is updated and present in PATH
34
35
 
35
- From a clone of this repository (recommended: use a virtual environment):
36
+ ```bash
37
+ pip install improve-cli
38
+ ```
39
+
40
+ **From a clone of this repository (recommended: use a virtual environment):**
36
41
 
37
42
  ```bash
38
43
  python3 -m venv .venv
@@ -48,12 +53,6 @@ For local development (changes to `improve.py` or `src/` apply without reinstall
48
53
  pip install -e .
49
54
  ```
50
55
 
51
- Install a built wheel without cloning:
52
-
53
- ```bash
54
- pip install dist/improve_cli-0.1.0-py3-none-any.whl
55
- ```
56
-
57
56
  ## **Build from source**
58
57
 
59
58
  Build sdist and wheel artifacts into `dist/` (requires [build](https://pypi.org/project/build/) once per environment):
@@ -161,4 +160,7 @@ improve export
161
160
  - Rebuild distributables with `python -m build` after packaging changes.
162
161
  - The codebase is small and intended as a learning/demo project. Contributions or issues can be opened against the original upstream repository referenced in the code comments.
163
162
 
163
+ ### License
164
+ This project is licensed under MIT License.
165
+
164
166
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "improve-cli"
7
- version = "0.1.0"
7
+ version = "0.2.0"
8
8
  description = "CLI project tracker with CSV-backed logs"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes