GhostDragon01 commited on
Commit
e73707f
·
1 Parent(s): 67a3f70

chore: Add .gitignore, example environment file, and pyproject.toml; update requirements and README

Browse files
.gitignore ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Google OAuth2 credentials
2
+ gcp-oauth.keys.json
3
+
4
+ # Gradio cache
5
+ .gradio/
6
+
7
+ # Byte-compiled / optimized / DLL files
8
+ __pycache__/
9
+ *.py[cod]
10
+ *$py.class
11
+
12
+ # C extensions
13
+ *.so
14
+
15
+ # Distribution / packaging
16
+ .Python
17
+ build/
18
+ develop-eggs/
19
+ dist/
20
+ downloads/
21
+ eggs/
22
+ .eggs/
23
+ lib/
24
+ lib64/
25
+ parts/
26
+ sdist/
27
+ var/
28
+ wheels/
29
+ share/python-wheels/
30
+ *.egg-info/
31
+ .installed.cfg
32
+ *.egg
33
+ MANIFEST
34
+
35
+ # PyInstaller
36
+ # Usually these files are written by a python script from a template
37
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
38
+ *.manifest
39
+ *.spec
40
+
41
+ # Installer logs
42
+ pip-log.txt
43
+ pip-delete-this-directory.txt
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+ cover/
59
+
60
+ # Translations
61
+ *.mo
62
+ *.pot
63
+
64
+ # Django stuff:
65
+ *.log
66
+ local_settings.py
67
+ db.sqlite3
68
+ db.sqlite3-journal
69
+
70
+ # Flask stuff:
71
+ instance/
72
+ .webassets-cache
73
+
74
+ # Scrapy stuff:
75
+ .scrapy
76
+
77
+ # Sphinx documentation
78
+ docs/_build/
79
+
80
+ # PyBuilder
81
+ .pybuilder/
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ # For a library or package, you might want to ignore these files since the code is
93
+ # intended to run in multiple environments; otherwise, check them in:
94
+ # .python-version
95
+
96
+ # pipenv
97
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
99
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
100
+ # install all needed dependencies.
101
+ #Pipfile.lock
102
+
103
+ # UV
104
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ #uv.lock
108
+
109
+ # poetry
110
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
111
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
112
+ # commonly ignored for libraries.
113
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
114
+ #poetry.lock
115
+
116
+ # pdm
117
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
118
+ #pdm.lock
119
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
120
+ # in version control.
121
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
122
+ .pdm.toml
123
+ .pdm-python
124
+ .pdm-build/
125
+
126
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
127
+ __pypackages__/
128
+
129
+ # Celery stuff
130
+ celerybeat-schedule
131
+ celerybeat.pid
132
+
133
+ # SageMath parsed files
134
+ *.sage.py
135
+
136
+ # Environments
137
+ .env
138
+ .venv
139
+ env/
140
+ venv/
141
+ ENV/
142
+ env.bak/
143
+ venv.bak/
144
+
145
+ # Spyder project settings
146
+ .spyderproject
147
+ .spyproject
148
+
149
+ # Rope project settings
150
+ .ropeproject
151
+
152
+ # mkdocs documentation
153
+ /site
154
+
155
+ # mypy
156
+ .mypy_cache/
157
+ .dmypy.json
158
+ dmypy.json
159
+
160
+ # Pyre type checker
161
+ .pyre/
162
+
163
+ # pytype static type analyzer
164
+ .pytype/
165
+
166
+ # Cython debug symbols
167
+ cython_debug/
168
+
169
+ # PyCharm
170
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
171
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
172
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
173
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
174
+ #.idea/
175
+
176
+ # Abstra
177
+ # Abstra is an AI-powered process automation framework.
178
+ # Ignore directories containing user credentials, local state, and settings.
179
+ # Learn more at https://abstra.io/docs
180
+ .abstra/
181
+
182
+ # Visual Studio Code
183
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
184
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
185
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
186
+ # you could uncomment the following to ignore the enitre vscode folder
187
+ # .vscode/
188
+
189
+ # Ruff stuff:
190
+ .ruff_cache/
191
+
192
+ # PyPI configuration file
193
+ .pypirc
194
+
195
+ # Cursor
196
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
197
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
198
+ # refer to https://docs.cursor.com/context/ignore-files
199
+ .cursorignore
200
+ .cursorindexingignore
README.md CHANGED
@@ -120,4 +120,4 @@ Perfect for users who want to:
120
 
121
  ---
122
 
123
- *Built for the Agents-MCP-Hackathon 2025 by Habib*
 
120
 
121
  ---
122
 
123
+ *Built for the Agents-MCP-Hackathon 2025 by [Your Name]*
env.example ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Example environment variables file
2
+ # Copy this to .env and fill in your actual values
3
+
4
+ # Hugging Face Token (required)
5
+ HF_TOKEN=your_hugging_face_token_here
6
+
7
+ # Gmail OAuth 2.0 Credentials (required for Gmail integration)
8
+ # Get these from Google Cloud Console > APIs & Credentials > OAuth 2.0 Client IDs
9
+ GOOGLE_CLIENT_ID=your_google_client_id_here
10
+ GOOGLE_CLIENT_SECRET=your_google_client_secret_here
11
+
12
+ # Gmail OAuth Tokens (obtained after running setup script)
13
+ # Run `python scripts/setup_gmail_credentials.py` to get these
14
+ GOOGLE_REFRESH_TOKEN=your_refresh_token_here
15
+ GOOGLE_ACCESS_TOKEN=your_access_token_here
16
+
17
+ # Deployment Environment (set to production for deployed environments)
18
+ # DEPLOYMENT_ENV=production
19
+
20
+ # Optional: OpenAI API Key (if you want to use OpenAI models)
21
+ # OPENAI_API_KEY=your_openai_api_key_here
pyproject.toml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "hoz_gradio_agents_mcp"
7
+ version = "0.1.0"
8
+ authors = [
9
+ { name = "Habib Adoum", email = "[email protected]" },
10
+ ]
11
+ description = "A multi-agent system for managing Gmail and bookmarks"
12
+ readme = "README.md"
13
+ requires-python = ">=3.10"
14
+ dependencies = [
15
+ "gradio",
16
+ "google-api-python-client",
17
+ "google-auth-httplib2",
18
+ "google-auth-oauthlib",
19
+ "python-dotenv",
20
+ "smolagents",
21
+ "smolagents[openai]",
22
+ ]
23
+
24
+ [project.scripts]
25
+ hoz-gradio = "src.main:main"
26
+
27
+ [tool.hatch.build.targets.wheel]
28
+ packages = ["src"]
requirements.txt CHANGED
@@ -1,8 +1,9 @@
1
- gradio>=5.0.0
2
  google-api-python-client>=2.0.0
3
  google-auth-httplib2>=0.1.0
4
  google-auth-oauthlib>=1.0.0
5
  python-dotenv>=1.0.0
6
- smolagents>=0.3.0
 
7
  openai>=1.0.0
8
  requests>=2.25.0
 
1
+ gradio>=5.33.0
2
  google-api-python-client>=2.0.0
3
  google-auth-httplib2>=0.1.0
4
  google-auth-oauthlib>=1.0.0
5
  python-dotenv>=1.0.0
6
+ smolagents>=1.17.0
7
+ smolagents[openai]
8
  openai>=1.0.0
9
  requests>=2.25.0
src/interfaces/__pycache__/gradio_interface.cpython-313.pyc CHANGED
Binary files a/src/interfaces/__pycache__/gradio_interface.cpython-313.pyc and b/src/interfaces/__pycache__/gradio_interface.cpython-313.pyc differ