aisolusoft-ai 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.
Files changed (34) hide show
  1. aisolusoft_ai-0.1.0/LICENSE +21 -0
  2. aisolusoft_ai-0.1.0/PKG-INFO +42 -0
  3. aisolusoft_ai-0.1.0/README.md +18 -0
  4. aisolusoft_ai-0.1.0/pyproject.toml +44 -0
  5. aisolusoft_ai-0.1.0/setup.cfg +4 -0
  6. aisolusoft_ai-0.1.0/src/aisolusoft_ai/__init__.py +10 -0
  7. aisolusoft_ai-0.1.0/src/aisolusoft_ai/ai/__init__.py +0 -0
  8. aisolusoft_ai-0.1.0/src/aisolusoft_ai/ai/base.py +0 -0
  9. aisolusoft_ai-0.1.0/src/aisolusoft_ai/ai/openai_client.py +0 -0
  10. aisolusoft_ai-0.1.0/src/aisolusoft_ai/analysis/__init__.py +6 -0
  11. aisolusoft_ai-0.1.0/src/aisolusoft_ai/analysis/analyzer.py +25 -0
  12. aisolusoft_ai-0.1.0/src/aisolusoft_ai/analysis/models.py +0 -0
  13. aisolusoft_ai-0.1.0/src/aisolusoft_ai/analysis/prompts.py +0 -0
  14. aisolusoft_ai-0.1.0/src/aisolusoft_ai/config/__init__.py +0 -0
  15. aisolusoft_ai-0.1.0/src/aisolusoft_ai/config/settings.py +0 -0
  16. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/__init__.py +5 -0
  17. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/base.py +0 -0
  18. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/excel.py +0 -0
  19. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/extractor.py +35 -0
  20. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/markdown.py +0 -0
  21. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/pdf.py +0 -0
  22. aisolusoft_ai-0.1.0/src/aisolusoft_ai/documents/text.py +0 -0
  23. aisolusoft_ai-0.1.0/src/aisolusoft_ai/exceptions.py +0 -0
  24. aisolusoft_ai-0.1.0/src/aisolusoft_ai/extraction/__init__.py +0 -0
  25. aisolusoft_ai-0.1.0/src/aisolusoft_ai/extraction/entities.py +0 -0
  26. aisolusoft_ai-0.1.0/src/aisolusoft_ai/version.py +1 -0
  27. aisolusoft_ai-0.1.0/src/aisolusoft_ai.egg-info/PKG-INFO +42 -0
  28. aisolusoft_ai-0.1.0/src/aisolusoft_ai.egg-info/SOURCES.txt +32 -0
  29. aisolusoft_ai-0.1.0/src/aisolusoft_ai.egg-info/dependency_links.txt +1 -0
  30. aisolusoft_ai-0.1.0/src/aisolusoft_ai.egg-info/requires.txt +14 -0
  31. aisolusoft_ai-0.1.0/src/aisolusoft_ai.egg-info/top_level.txt +1 -0
  32. aisolusoft_ai-0.1.0/tests/test_analysis.py +0 -0
  33. aisolusoft_ai-0.1.0/tests/test_config.py +0 -0
  34. aisolusoft_ai-0.1.0/tests/test_documents.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bhargav Dakwala
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: aisolusoft-ai
3
+ Version: 0.1.0
4
+ Summary: AI-powered document analysis and business automation SDK
5
+ Author: Bhargav Dakwala
6
+ License: MIT
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: openai>=1.0.0
11
+ Requires-Dist: pydantic>=2.0.0
12
+ Requires-Dist: pydantic-settings>=2.0.0
13
+ Requires-Dist: python-dotenv>=1.0.0
14
+ Requires-Dist: pypdf>=5.0.0
15
+ Requires-Dist: openpyxl>=3.1.0
16
+ Provides-Extra: dev
17
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
18
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
19
+ Requires-Dist: ruff>=0.6.0; extra == "dev"
20
+ Requires-Dist: mypy>=1.10.0; extra == "dev"
21
+ Requires-Dist: build>=1.2.0; extra == "dev"
22
+ Requires-Dist: twine>=5.0.0; extra == "dev"
23
+ Dynamic: license-file
24
+
25
+ # AISoluSoft AI
26
+
27
+ AI-powered document extraction and analysis SDK for Python.
28
+
29
+ ## Features
30
+
31
+ - PDF text extraction
32
+ - Text document extraction
33
+ - Markdown document extraction
34
+ - Excel document support
35
+ - AI-powered document analysis
36
+ - OpenAI integration
37
+ - Structured analysis results
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ pip install aisolusoft-ai
@@ -0,0 +1,18 @@
1
+ # AISoluSoft AI
2
+
3
+ AI-powered document extraction and analysis SDK for Python.
4
+
5
+ ## Features
6
+
7
+ - PDF text extraction
8
+ - Text document extraction
9
+ - Markdown document extraction
10
+ - Excel document support
11
+ - AI-powered document analysis
12
+ - OpenAI integration
13
+ - Structured analysis results
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ pip install aisolusoft-ai
@@ -0,0 +1,44 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "aisolusoft-ai"
7
+ version = "0.1.0"
8
+ description = "AI-powered document analysis and business automation SDK"
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = { text = "MIT" }
12
+
13
+ authors = [
14
+ { name = "Bhargav Dakwala" }
15
+ ]
16
+
17
+ dependencies = [
18
+ "openai>=1.0.0",
19
+ "pydantic>=2.0.0",
20
+ "pydantic-settings>=2.0.0",
21
+ "python-dotenv>=1.0.0",
22
+ "pypdf>=5.0.0",
23
+ "openpyxl>=3.1.0"
24
+ ]
25
+
26
+ [project.optional-dependencies]
27
+ dev = [
28
+ "pytest>=8.0.0",
29
+ "pytest-cov>=5.0.0",
30
+ "ruff>=0.6.0",
31
+ "mypy>=1.10.0",
32
+ "build>=1.2.0",
33
+ "twine>=5.0.0"
34
+ ]
35
+
36
+ [tool.setuptools.packages.find]
37
+ where = ["src"]
38
+
39
+ [tool.pytest.ini_options]
40
+ testpaths = ["tests"]
41
+
42
+ [tool.ruff]
43
+ line-length = 100
44
+ target-version = "py311"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,10 @@
1
+ from .version import __version__
2
+ from .analysis import DocumentAnalyzer, AnalysisResult
3
+ from .documents import DocumentExtractor
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "DocumentAnalyzer",
8
+ "AnalysisResult",
9
+ "DocumentExtractor",
10
+ ]
File without changes
File without changes
@@ -0,0 +1,6 @@
1
+ from .analyzer import DocumentAnalyzer, AnalysisResult
2
+
3
+ __all__ = [
4
+ "DocumentAnalyzer",
5
+ "AnalysisResult",
6
+ ]
@@ -0,0 +1,25 @@
1
+ from dataclasses import dataclass
2
+
3
+
4
+ @dataclass
5
+ class AnalysisResult:
6
+ summary: str
7
+ file: str
8
+
9
+
10
+ class DocumentAnalyzer:
11
+
12
+ def __init__(self):
13
+ pass
14
+
15
+ def analyze(self, file_path: str) -> AnalysisResult:
16
+ return AnalysisResult(
17
+ summary=f"Analysis requested for {file_path}",
18
+ file=file_path,
19
+ )
20
+
21
+ def analyze_text(self, text: str) -> AnalysisResult:
22
+ return AnalysisResult(
23
+ summary=f"Received {len(text)} characters",
24
+ file="",
25
+ )
@@ -0,0 +1,5 @@
1
+ from .extractor import DocumentExtractor
2
+
3
+ __all__ = [
4
+ "DocumentExtractor",
5
+ ]
@@ -0,0 +1,35 @@
1
+ from pathlib import Path
2
+
3
+ from pypdf import PdfReader
4
+
5
+
6
+ class DocumentExtractor:
7
+
8
+ def extract(self, file_path: str) -> str:
9
+ path = Path(file_path)
10
+
11
+ if not path.exists():
12
+ raise FileNotFoundError(f"Document not found: {file_path}")
13
+
14
+ if path.suffix.lower() == ".pdf":
15
+ return self._extract_pdf(path)
16
+
17
+ if path.suffix.lower() in [".txt", ".md"]:
18
+ return path.read_text(encoding="utf-8")
19
+
20
+ raise ValueError(
21
+ f"Unsupported document type: {path.suffix}"
22
+ )
23
+
24
+ def _extract_pdf(self, path: Path) -> str:
25
+ reader = PdfReader(str(path))
26
+
27
+ pages = []
28
+
29
+ for page in reader.pages:
30
+ text = page.extract_text()
31
+
32
+ if text:
33
+ pages.append(text)
34
+
35
+ return "\n\n".join(pages)
File without changes
File without changes
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: aisolusoft-ai
3
+ Version: 0.1.0
4
+ Summary: AI-powered document analysis and business automation SDK
5
+ Author: Bhargav Dakwala
6
+ License: MIT
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: openai>=1.0.0
11
+ Requires-Dist: pydantic>=2.0.0
12
+ Requires-Dist: pydantic-settings>=2.0.0
13
+ Requires-Dist: python-dotenv>=1.0.0
14
+ Requires-Dist: pypdf>=5.0.0
15
+ Requires-Dist: openpyxl>=3.1.0
16
+ Provides-Extra: dev
17
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
18
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
19
+ Requires-Dist: ruff>=0.6.0; extra == "dev"
20
+ Requires-Dist: mypy>=1.10.0; extra == "dev"
21
+ Requires-Dist: build>=1.2.0; extra == "dev"
22
+ Requires-Dist: twine>=5.0.0; extra == "dev"
23
+ Dynamic: license-file
24
+
25
+ # AISoluSoft AI
26
+
27
+ AI-powered document extraction and analysis SDK for Python.
28
+
29
+ ## Features
30
+
31
+ - PDF text extraction
32
+ - Text document extraction
33
+ - Markdown document extraction
34
+ - Excel document support
35
+ - AI-powered document analysis
36
+ - OpenAI integration
37
+ - Structured analysis results
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ pip install aisolusoft-ai
@@ -0,0 +1,32 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/aisolusoft_ai/__init__.py
5
+ src/aisolusoft_ai/exceptions.py
6
+ src/aisolusoft_ai/version.py
7
+ src/aisolusoft_ai.egg-info/PKG-INFO
8
+ src/aisolusoft_ai.egg-info/SOURCES.txt
9
+ src/aisolusoft_ai.egg-info/dependency_links.txt
10
+ src/aisolusoft_ai.egg-info/requires.txt
11
+ src/aisolusoft_ai.egg-info/top_level.txt
12
+ src/aisolusoft_ai/ai/__init__.py
13
+ src/aisolusoft_ai/ai/base.py
14
+ src/aisolusoft_ai/ai/openai_client.py
15
+ src/aisolusoft_ai/analysis/__init__.py
16
+ src/aisolusoft_ai/analysis/analyzer.py
17
+ src/aisolusoft_ai/analysis/models.py
18
+ src/aisolusoft_ai/analysis/prompts.py
19
+ src/aisolusoft_ai/config/__init__.py
20
+ src/aisolusoft_ai/config/settings.py
21
+ src/aisolusoft_ai/documents/__init__.py
22
+ src/aisolusoft_ai/documents/base.py
23
+ src/aisolusoft_ai/documents/excel.py
24
+ src/aisolusoft_ai/documents/extractor.py
25
+ src/aisolusoft_ai/documents/markdown.py
26
+ src/aisolusoft_ai/documents/pdf.py
27
+ src/aisolusoft_ai/documents/text.py
28
+ src/aisolusoft_ai/extraction/__init__.py
29
+ src/aisolusoft_ai/extraction/entities.py
30
+ tests/test_analysis.py
31
+ tests/test_config.py
32
+ tests/test_documents.py
@@ -0,0 +1,14 @@
1
+ openai>=1.0.0
2
+ pydantic>=2.0.0
3
+ pydantic-settings>=2.0.0
4
+ python-dotenv>=1.0.0
5
+ pypdf>=5.0.0
6
+ openpyxl>=3.1.0
7
+
8
+ [dev]
9
+ pytest>=8.0.0
10
+ pytest-cov>=5.0.0
11
+ ruff>=0.6.0
12
+ mypy>=1.10.0
13
+ build>=1.2.0
14
+ twine>=5.0.0
@@ -0,0 +1 @@
1
+ aisolusoft_ai
File without changes
File without changes
File without changes