streamlit-aggrid-v2 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,234 @@
1
+ ########################################################################
2
+ # Python - https://github.com/github/gitignore/blob/master/Python.gitignore
3
+ ########################################################################
4
+ # Byte-compiled / optimized / DLL files
5
+ __pycache__/
6
+ *.py[cod]
7
+ *$py.class
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # claude
13
+ .claude/
14
+ CLAUDE.md
15
+
16
+ # development (references, old assets, scratch work)
17
+ development/
18
+
19
+ # scratchpad
20
+ scratchpad.md
21
+
22
+ # node
23
+ node_modules/
24
+ package-lock.json
25
+
26
+ # Distribution / packaging
27
+ .Python
28
+ build/
29
+ develop-eggs/
30
+ dist/
31
+ downloads/
32
+ eggs/
33
+ .eggs/
34
+ lib/
35
+ lib64/
36
+ parts/
37
+ sdist/
38
+ var/
39
+ wheels/
40
+ share/python-wheels/
41
+ *.egg-info/
42
+ .installed.cfg
43
+ *.egg
44
+ MANIFEST
45
+
46
+ # PyInstaller
47
+ # Usually these files are written by a python script from a template
48
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
49
+ *.manifest
50
+ *.spec
51
+
52
+ # Installer logs
53
+ pip-log.txt
54
+ pip-delete-this-directory.txt
55
+
56
+ # Unit test / coverage reports
57
+ htmlcov/
58
+ .tox/
59
+ .nox/
60
+ .coverage
61
+ .coverage.*
62
+ .cache
63
+ nosetests.xml
64
+ coverage.xml
65
+ *.cover
66
+ *.py,cover
67
+ .hypothesis/
68
+ .pytest_cache/
69
+ cover/
70
+
71
+ # Translations
72
+ *.mo
73
+ *.pot
74
+
75
+ # Django stuff:
76
+ *.log
77
+ local_settings.py
78
+ db.sqlite3
79
+ db.sqlite3-journal
80
+
81
+ # Flask stuff:
82
+ instance/
83
+ .webassets-cache
84
+
85
+ # Scrapy stuff:
86
+ .scrapy
87
+
88
+ # Sphinx documentation
89
+ docs/_build/
90
+
91
+ # PyBuilder
92
+ .pybuilder/
93
+ target/
94
+
95
+ # Jupyter Notebook
96
+ .ipynb_checkpoints
97
+
98
+ # IPython
99
+ profile_default/
100
+ ipython_config.py
101
+
102
+ # pyenv
103
+ # For a library or package, you might want to ignore these files since the code is
104
+ # intended to run in multiple environments; otherwise, check them in:
105
+ # .python-version
106
+
107
+ # pipenv
108
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
109
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
110
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
111
+ # install all needed dependencies.
112
+ #Pipfile.lock
113
+
114
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
115
+ __pypackages__/
116
+
117
+ # Celery stuff
118
+ celerybeat-schedule
119
+ celerybeat.pid
120
+
121
+ # SageMath parsed files
122
+ *.sage.py
123
+
124
+ # Environments
125
+ .venv
126
+ env/
127
+ venv/
128
+ ENV/
129
+ env.bak/
130
+ venv.bak/
131
+
132
+ # Spyder project settings
133
+ .spyderproject
134
+ .spyproject
135
+
136
+ # Rope project settings
137
+ .ropeproject
138
+
139
+ # mkdocs documentation
140
+ /site
141
+
142
+ # ruff
143
+ .ruff_cache/
144
+
145
+ # mypy
146
+ .mypy_cache/
147
+ .dmypy.json
148
+ dmypy.json
149
+
150
+ # Pyre type checker
151
+ .pyre/
152
+
153
+ # pytype static type analyzer
154
+ .pytype/
155
+
156
+ # Cython debug symbols
157
+ cython_debug/
158
+
159
+ ########################################################################
160
+ # OSX - https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
161
+ ########################################################################
162
+ .DS_Store
163
+ .DocumentRevisions-V100
164
+ .fseventsd
165
+ .Spotlight-V100
166
+ .TemporaryItems
167
+ .Trashes
168
+ .VolumeIcon.icns
169
+ .com.apple.timemachine.donotpresent
170
+
171
+ ########################################################################
172
+ # node - https://github.com/github/gitignore/blob/master/Node.gitignore
173
+ ########################################################################
174
+ # Logs
175
+ npm-debug.log*
176
+ yarn-debug.log*
177
+ yarn-error.log*
178
+
179
+ # Dependency directories
180
+ node_modules/
181
+
182
+ # Coverage directory used by tools like istanbul
183
+ coverage/
184
+
185
+ # Lockfiles
186
+ #yarn.lock
187
+ package-lock.json
188
+ !st_aggrid/frontend/package-lock.json
189
+
190
+ ########################################################################
191
+ # JetBrains
192
+ ########################################################################
193
+ .idea
194
+
195
+ ########################################################################
196
+ # VSCode
197
+ ########################################################################
198
+ .vscode/
199
+
200
+ st_aggrid/frontend/node_modules/
201
+ st_aggrid/frontend/.eslintcache
202
+ streamlit_aggrid.egg-info/*
203
+ streamlit_aggrid.egg-info/PKG-INFO
204
+ Pipfile.lock
205
+ Pipfile
206
+ #/poetry.lock
207
+ /.env
208
+ .env
209
+
210
+ ########################################################################
211
+ # vim
212
+ ########################################################################
213
+ .vim/
214
+
215
+ #yarn
216
+ .pnp.*
217
+ .yarn/*
218
+ !.yarn/patches
219
+ !.yarn/plugins
220
+ !.yarn/releases
221
+ !.yarn/sdks
222
+ !.yarn/versions
223
+ .editorconfig
224
+ st_aggrid/frontend/.yarn/install-state.gz
225
+ quick_examples*
226
+ test/_*
227
+ streamlit-aggrid-examples/*
228
+ streamlit-aggrid-examples
229
+ test/screenshots
230
+ output.txt
231
+ test/issues/*
232
+ test/src_original/*
233
+ st_aggrid/frontend/bundle-analysis.json
234
+ stats.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Pablo Fonseca
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 all
13
+ 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 THE
21
+ SOFTWARE.
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.4
2
+ Name: streamlit-aggrid-v2
3
+ Version: 0.1.0
4
+ Summary: AG Grid component for Streamlit — interactive tables, editing, filtering & more.
5
+ Project-URL: Homepage, https://github.com/lperezmo/st-aggrid
6
+ Project-URL: Repository, https://github.com/lperezmo/st-aggrid
7
+ Project-URL: Issues, https://github.com/lperezmo/st-aggrid/issues
8
+ Author-email: Luis Perez <lperezmo@users.noreply.github.com>
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: ag-grid,aggrid,component,data-table,streamlit
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Web Environment
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Topic :: Software Development :: User Interfaces
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: pandas>=1.4.0
26
+ Requires-Dist: python-decouple
27
+ Requires-Dist: streamlit>=1.51
28
+ Description-Content-Type: text/markdown
29
+
30
+ # streamlit-aggrid-v2
31
+
32
+ AG Grid component for Streamlit — interactive tables, editing, filtering & more.
33
+
34
+ Built on [AG Grid](https://www.ag-grid.com/) v34.3.1.
35
+
36
+ ## Acknowledgments
37
+
38
+ This project is a continuation of [streamlit-aggrid](https://github.com/PablocFonseca/streamlit-aggrid), originally created by **[Pablo Fonseca](https://github.com/PablocFonseca)**. Huge thanks to Pablo for building and maintaining the first version that the Streamlit community relied on for years.
39
+
40
+ ## Install
41
+
42
+ ```bash
43
+ pip install streamlit-aggrid-v2
44
+ ```
45
+
46
+ ## Quick Start
47
+
48
+ ```python
49
+ from st_aggrid import AgGrid
50
+ import pandas as pd
51
+
52
+ df = pd.read_csv(
53
+ "https://raw.githubusercontent.com/fivethirtyeight/data/master/airline-safety/airline-safety.csv"
54
+ )
55
+ AgGrid(df)
56
+ ```
57
+
58
+ > **Note:** The Python import stays `st_aggrid` — only the `pip install` name changed.
59
+
60
+ ```bash
61
+ streamlit run example.py
62
+ ```
63
+
64
+ ## What's New in v2
65
+
66
+ - **No iframes** — AG Grid renders directly in the Streamlit DOM via Custom Components v2 (CCv2), eliminating postMessage serialization overhead for large datasets.
67
+ - **Better theming** — CSS `--st-*` variables auto-adapt to the active Streamlit theme. All four AG Grid themes (quartz, alpine, balham, material) supported with automatic dark mode detection.
68
+ - **Modern build** — Vite + ESM replaces the legacy webpack/CRA toolchain.
69
+ - **Bug fixes** — 25 bugs fixed from the original codebase (mutable defaults, Path handling, event listener leaks, theme issues, and more).
70
+ - **Maintained** — Active development with semantic versioning and automated releases.
71
+
72
+ The public Python API (`AgGrid()`, `GridOptionsBuilder`, etc.) is fully backward compatible. Existing code should work by changing only the `pip install` line.
73
+
74
+ ## License
75
+
76
+ MIT
@@ -0,0 +1,47 @@
1
+ # streamlit-aggrid-v2
2
+
3
+ AG Grid component for Streamlit — interactive tables, editing, filtering & more.
4
+
5
+ Built on [AG Grid](https://www.ag-grid.com/) v34.3.1.
6
+
7
+ ## Acknowledgments
8
+
9
+ This project is a continuation of [streamlit-aggrid](https://github.com/PablocFonseca/streamlit-aggrid), originally created by **[Pablo Fonseca](https://github.com/PablocFonseca)**. Huge thanks to Pablo for building and maintaining the first version that the Streamlit community relied on for years.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ pip install streamlit-aggrid-v2
15
+ ```
16
+
17
+ ## Quick Start
18
+
19
+ ```python
20
+ from st_aggrid import AgGrid
21
+ import pandas as pd
22
+
23
+ df = pd.read_csv(
24
+ "https://raw.githubusercontent.com/fivethirtyeight/data/master/airline-safety/airline-safety.csv"
25
+ )
26
+ AgGrid(df)
27
+ ```
28
+
29
+ > **Note:** The Python import stays `st_aggrid` — only the `pip install` name changed.
30
+
31
+ ```bash
32
+ streamlit run example.py
33
+ ```
34
+
35
+ ## What's New in v2
36
+
37
+ - **No iframes** — AG Grid renders directly in the Streamlit DOM via Custom Components v2 (CCv2), eliminating postMessage serialization overhead for large datasets.
38
+ - **Better theming** — CSS `--st-*` variables auto-adapt to the active Streamlit theme. All four AG Grid themes (quartz, alpine, balham, material) supported with automatic dark mode detection.
39
+ - **Modern build** — Vite + ESM replaces the legacy webpack/CRA toolchain.
40
+ - **Bug fixes** — 25 bugs fixed from the original codebase (mutable defaults, Path handling, event listener leaks, theme issues, and more).
41
+ - **Maintained** — Active development with semantic versioning and automated releases.
42
+
43
+ The public Python API (`AgGrid()`, `GridOptionsBuilder`, etc.) is fully backward compatible. Existing code should work by changing only the `pip install` line.
44
+
45
+ ## License
46
+
47
+ MIT
@@ -0,0 +1,72 @@
1
+ [project]
2
+ name = "streamlit-aggrid-v2"
3
+ version = "0.1.0"
4
+ description = "AG Grid component for Streamlit — interactive tables, editing, filtering & more."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = { text = "MIT" }
8
+ authors = [{ name = "Luis Perez", email = "lperezmo@users.noreply.github.com" }]
9
+ keywords = ["streamlit", "ag-grid", "aggrid", "component", "data-table"]
10
+ classifiers = [
11
+ "Development Status :: 4 - Beta",
12
+ "Intended Audience :: Developers",
13
+ "Topic :: Software Development :: Libraries :: Python Modules",
14
+ "Topic :: Software Development :: User Interfaces",
15
+ "Programming Language :: Python :: 3",
16
+ "Programming Language :: Python :: 3.10",
17
+ "Programming Language :: Python :: 3.11",
18
+ "Programming Language :: Python :: 3.12",
19
+ "Programming Language :: Python :: 3.13",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Environment :: Web Environment",
23
+ ]
24
+ dependencies = ["streamlit >=1.51", "pandas >=1.4.0", "python-decouple"]
25
+
26
+ [project.urls]
27
+ Homepage = "https://github.com/lperezmo/st-aggrid"
28
+ Repository = "https://github.com/lperezmo/st-aggrid"
29
+ Issues = "https://github.com/lperezmo/st-aggrid/issues"
30
+
31
+ [dependency-groups]
32
+ dev = [
33
+ "beautifulsoup4>=4.12",
34
+ "playwright>=1.51.0",
35
+ "pytest>=8.3.5",
36
+ "pytest-playwright>=0.7.0",
37
+ "watchdog>=6.0.0",
38
+ "ruff>=0.9.0",
39
+ "streamlit-code-editor>=0.1.12",
40
+ "pytest-cov>=6.2.1",
41
+ ]
42
+
43
+ [build-system]
44
+ requires = ["hatchling"]
45
+ build-backend = "hatchling.build"
46
+
47
+ [tool.hatch.build.targets.wheel]
48
+ packages = ["st_aggrid"]
49
+ artifacts = [
50
+ "st_aggrid/frontend/build/**/*",
51
+ "st_aggrid/json/**/*.json",
52
+ "st_aggrid/pyproject.toml",
53
+ ]
54
+
55
+ [tool.hatch.build.targets.sdist]
56
+ include = [
57
+ "st_aggrid/**/*.py",
58
+ "st_aggrid/frontend/build/**/*",
59
+ "st_aggrid/json/**/*.json",
60
+ "st_aggrid/pyproject.toml",
61
+ ]
62
+
63
+ [tool.semantic_release]
64
+ version_toml = [
65
+ "pyproject.toml:project.version",
66
+ "st_aggrid/pyproject.toml:project.version",
67
+ ]
68
+ tag_format = "v{version}"
69
+ commit_message = "chore(release): v{version}"
70
+
71
+ [tool.ruff]
72
+ extend-exclude = ["development/"]