-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
63 lines (61 loc) · 2.34 KB
/
Copy pathsetup.py
File metadata and controls
63 lines (61 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from setuptools import setup, find_packages
# Function to read requirements from requirements.txt
def parse_requirements(filename):
lines = (line.strip() for line in open(filename))
# Filter out comments and empty lines
requirements = [line for line in lines if line and not line.startswith("#")]
return requirements
setup(
name='obsidian-ai-search',
version='0.1.0', # Initial version
packages=find_packages(),
include_package_data=True,
install_requires=[
'click>=8.0',
'numpy>=1.21',
'sentence-transformers>=2.2.0', # Check latest compatible version
'faiss-cpu>=1.7.0', # Check latest compatible version
'watchdog>=2.1.0',
'rich>=10.0',
'tomli>=1.1.0; python_version < "3.11"', # For older Python TOML parsing
'python-dotenv>=0.19.0', # Added for .env support
'google-generativeai>=0.3.0', # For Gemini RAG
'prompt_toolkit>=3.0', # For REPL history/suggestions
'pyyaml>=5.4', # If using YAML for config or other data
'psutil>=5.8.0', # For system monitoring (optional, e.g., memory usage)
# Add FastAPI and uvicorn if the API server is core
# 'fastapi>=0.70.0',
# 'uvicorn[standard]>=0.15.0',
],
extras_require={
'dev': [
'pytest>=7.0.0',
'pytest-cov>=4.0.0',
'black>=23.0.0',
'isort>=5.10.0',
'mypy>=1.0.0',
'flake8>=5.0.0',
],
},
entry_points={
'console_scripts': [
'obsidian-search = obsidian_ai_search.cli:cli', # Command name = module:function
],
},
# Metadata
author='Obsidian AI Search Contributors',
author_email='example@example.com',
description='Locally index and search Obsidian notes using embeddings.',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
url='https://github.com/yourusername/obsidian-ai-search', # Replace with your repo URL if applicable
classifiers=[
'Programming Language :: Python :: 3',
'License :: OSI Approved :: MIT License', # Choose appropriate license
'Operating System :: OS Independent',
'Development Status :: 3 - Alpha',
'Topic :: Utilities',
'Environment :: Console',
],
python_requires='>=3.8', # Specify minimum Python version
)