bundle-analyser 0.1.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.
@@ -0,0 +1,41 @@
1
+ Metadata-Version: 2.4
2
+ Name: bundle-analyser
3
+ Version: 0.1.0
4
+ Summary: Bundle analyser — analyses collections of files in folders or zip archives, dispatching to the analyser family
5
+ Author-email: Michael Borck <michael.borck@curtin.edu.au>
6
+ License: MIT
7
+ Classifier: Development Status :: 1 - Planning
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Requires-Python: >=3.11
14
+ Requires-Dist: rich>=13.7.0
15
+ Description-Content-Type: text/markdown
16
+
17
+ # bundle-analyser
18
+
19
+ Part of the **analyser family** — analyses collections of files in folders or zip archives.
20
+
21
+ Accepts a folder path or a zip file, walks all files, dispatches each to the appropriate
22
+ analyser family member (via `auto-analyser`), and returns per-file signals plus
23
+ structural signals about the collection as a whole.
24
+
25
+ ## Status
26
+
27
+ Coming soon. Name reserved on PyPI.
28
+
29
+ ## Analyser Family
30
+
31
+ | Tool | Input | Role |
32
+ |------|-------|------|
33
+ | `auto-analyser` | single file or zip | routes to the right specialist |
34
+ | `bundle-analyser` | folder or zip | walks a collection, calls auto-analyser per file |
35
+ | `git-analyser` | local git repo or remote URL | commit history + per-file signals |
36
+ | `code-analyser` | source file | Python, JS, TS, HTML, CSS, SQL signals |
37
+ | `document-analyser` | document file | PDF, DOCX, Markdown signals |
38
+
39
+ ## Port
40
+
41
+ `8008` (reserved)
@@ -0,0 +1,25 @@
1
+ # bundle-analyser
2
+
3
+ Part of the **analyser family** — analyses collections of files in folders or zip archives.
4
+
5
+ Accepts a folder path or a zip file, walks all files, dispatches each to the appropriate
6
+ analyser family member (via `auto-analyser`), and returns per-file signals plus
7
+ structural signals about the collection as a whole.
8
+
9
+ ## Status
10
+
11
+ Coming soon. Name reserved on PyPI.
12
+
13
+ ## Analyser Family
14
+
15
+ | Tool | Input | Role |
16
+ |------|-------|------|
17
+ | `auto-analyser` | single file or zip | routes to the right specialist |
18
+ | `bundle-analyser` | folder or zip | walks a collection, calls auto-analyser per file |
19
+ | `git-analyser` | local git repo or remote URL | commit history + per-file signals |
20
+ | `code-analyser` | source file | Python, JS, TS, HTML, CSS, SQL signals |
21
+ | `document-analyser` | document file | PDF, DOCX, Markdown signals |
22
+
23
+ ## Port
24
+
25
+ `8008` (reserved)
@@ -0,0 +1,29 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "bundle-analyser"
7
+ version = "0.1.0"
8
+ description = "Bundle analyser — analyses collections of files in folders or zip archives, dispatching to the analyser family"
9
+ authors = [{name = "Michael Borck", email = "michael.borck@curtin.edu.au"}]
10
+ readme = "README.md"
11
+ requires-python = ">=3.11"
12
+ license = {text = "MIT"}
13
+ classifiers = [
14
+ "Development Status :: 1 - Planning",
15
+ "Intended Audience :: Developers",
16
+ "License :: OSI Approved :: MIT License",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
+ ]
21
+ dependencies = [
22
+ "rich>=13.7.0",
23
+ ]
24
+
25
+ [project.scripts]
26
+ bundle-analyser = "bundle_analyser.cli:main"
27
+
28
+ [tool.hatch.build.targets.wheel]
29
+ packages = ["src/bundle_analyser"]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,36 @@
1
+ from __future__ import annotations
2
+
3
+ import argparse
4
+ import sys
5
+
6
+
7
+ def main() -> None:
8
+ parser = argparse.ArgumentParser(
9
+ prog="bundle-analyser",
10
+ description="Bundle analyser — analyse a folder or zip archive of files (coming soon)",
11
+ )
12
+ parser.add_argument("path", nargs="?", help="Folder path or zip archive to analyse")
13
+ parser.add_argument("--json", action="store_true", dest="as_json")
14
+ parser.add_argument("--version", action="version", version="0.1.0")
15
+
16
+ subparsers = parser.add_subparsers(dest="command")
17
+ serve = subparsers.add_parser("serve", help="Start API server")
18
+ serve.add_argument("--host", default="127.0.0.1")
19
+ serve.add_argument("--port", type=int, default=8008)
20
+
21
+ args = parser.parse_args()
22
+
23
+ if args.command == "serve":
24
+ print("bundle-analyser serve — not yet implemented", file=sys.stderr)
25
+ sys.exit(1)
26
+
27
+ if not args.path:
28
+ parser.print_help()
29
+ sys.exit(1)
30
+
31
+ print("bundle-analyser — not yet implemented", file=sys.stderr)
32
+ sys.exit(1)
33
+
34
+
35
+ if __name__ == "__main__":
36
+ main()