| Name | tabeline JSON |
| Version |
0.6.2
JSON |
| download |
| home_page | None |
| Summary | A data frame and data grammar library |
| upload_time | 2025-10-14 03:31:28 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | <4.0,>=3.10 |
| license | None |
| keywords |
dataframe
datatable
datagrammar
dplyr
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Tabeline
Tabeline is a data frame and data grammar library. You write the expressions in strings and supply them to methods on the `DataFrame` class. The strings are parsed by Parsita and converted into Polars for execution.
Tabeline draws inspiration from dplyr, the data grammar of R's tidyverse, especially for its methods names. The `filter`, `mutate`, `group_by`, and `summarize` methods should all feel familiar. But Tabeline is as proper a Python library as can be, using methods instead of pipes, like is standard in R.
Tabeline uses Polars under the hood, but adds a lot of handling of edge cases from Polars, which otherwise result in crashes or behavior that is not type stable.
See the [Documentation](https://tabeline.drhagen.com) for the full user guide.
## Installation
It is recommended to install Tabeline from PyPI using `pip`.
```shell
pip install tabeline
```
## Motivating example
```python
from tabeline import DataFrame
# Construct a data frame using clean syntax
# from_csv, from_pandas, and from_polars are also available
df = DataFrame(
id=[0, 0, 0, 0, 1, 1, 1, 1, 1],
t=[0, 6, 12, 24, 0, 6, 12, 24, 48],
y=[0, 2, 3, 1, 0, 4, 3, 2, 1],
)
# Use data grammar methods and string expressions to define
# transformed data frames
analysis = (
df
.filter("t <= 24")
.group_by("id")
.summarize(auc="trapz(t, y)")
)
print(analysis)
# shape: (2, 2)
# ┌─────┬──────┐
# │ id ┆ auc │
# │ --- ┆ --- │
# │ i64 ┆ f64 │
# ╞═════╪══════╡
# │ 0 ┆ 45.0 │
# ├╌╌╌╌╌┼╌╌╌╌╌╌┤
# │ 1 ┆ 63.0 │
# └─────┴──────┘
```
Raw data
{
"_id": null,
"home_page": null,
"name": "tabeline",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "dataframe, datatable, datagrammar, dplyr",
"author": null,
"author_email": "David Hagen <david@drhagen.com>",
"download_url": "https://files.pythonhosted.org/packages/ca/05/57a0f5b2acb949561a46b55e7cf6d665c33b8912d9047a83e1210363207c/tabeline-0.6.2.tar.gz",
"platform": null,
"description": "# Tabeline\n\nTabeline is a data frame and data grammar library. You write the expressions in strings and supply them to methods on the `DataFrame` class. The strings are parsed by Parsita and converted into Polars for execution.\n\nTabeline draws inspiration from dplyr, the data grammar of R's tidyverse, especially for its methods names. The `filter`, `mutate`, `group_by`, and `summarize` methods should all feel familiar. But Tabeline is as proper a Python library as can be, using methods instead of pipes, like is standard in R. \n\nTabeline uses Polars under the hood, but adds a lot of handling of edge cases from Polars, which otherwise result in crashes or behavior that is not type stable.\n\nSee the [Documentation](https://tabeline.drhagen.com) for the full user guide.\n\n## Installation\n\nIt is recommended to install Tabeline from PyPI using `pip`.\n\n```shell\npip install tabeline\n```\n\n## Motivating example\n\n```python\nfrom tabeline import DataFrame\n\n# Construct a data frame using clean syntax\n# from_csv, from_pandas, and from_polars are also available \ndf = DataFrame(\n id=[0, 0, 0, 0, 1, 1, 1, 1, 1],\n t=[0, 6, 12, 24, 0, 6, 12, 24, 48],\n y=[0, 2, 3, 1, 0, 4, 3, 2, 1],\n)\n\n# Use data grammar methods and string expressions to define\n# transformed data frames\nanalysis = (\n df\n .filter(\"t <= 24\")\n .group_by(\"id\")\n .summarize(auc=\"trapz(t, y)\")\n)\n\nprint(analysis)\n# shape: (2, 2)\n# \u250c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n# \u2502 id \u2506 auc \u2502\n# \u2502 --- \u2506 --- \u2502\n# \u2502 i64 \u2506 f64 \u2502\n# \u255e\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n# \u2502 0 \u2506 45.0 \u2502\n# \u251c\u254c\u254c\u254c\u254c\u254c\u253c\u254c\u254c\u254c\u254c\u254c\u254c\u2524\n# \u2502 1 \u2506 63.0 \u2502\n# \u2514\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "A data frame and data grammar library",
"version": "0.6.2",
"project_urls": {
"Documentation": "https://tabeline.drhagen.com",
"Repository": "https://github.com/drhagen/tabeline"
},
"split_keywords": [
"dataframe",
" datatable",
" datagrammar",
" dplyr"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8046b09e8d5693084dc4b373cc515fcd75714e3d4ff9660fa2fd09e76a73b447",
"md5": "e80ae5687416e5548231dc6043db5a43",
"sha256": "7c13294df831f46d4f95d17f3ef59e2c8436a698648cb74a548f65cec6e40288"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "e80ae5687416e5548231dc6043db5a43",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 19284800,
"upload_time": "2025-10-14T03:30:38",
"upload_time_iso_8601": "2025-10-14T03:30:38.694106Z",
"url": "https://files.pythonhosted.org/packages/80/46/b09e8d5693084dc4b373cc515fcd75714e3d4ff9660fa2fd09e76a73b447/tabeline-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d145323e94f50d5ba79692e55df30f22478fc79c0e3083d76d69faffea8d562a",
"md5": "a6b34cdbb5d5799fce1c84db55de8041",
"sha256": "59eb25fc8c138b4fce8f8eb90d23b676f012f97fe8e5ea705c7b57ba0eaa8166"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a6b34cdbb5d5799fce1c84db55de8041",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 18339512,
"upload_time": "2025-10-14T03:30:41",
"upload_time_iso_8601": "2025-10-14T03:30:41.645088Z",
"url": "https://files.pythonhosted.org/packages/d1/45/323e94f50d5ba79692e55df30f22478fc79c0e3083d76d69faffea8d562a/tabeline-0.6.2-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb12c30b85478babfe1bda0485fc4525d27c1a5c07572bda06c3695a29e691f2",
"md5": "8df7aa16eb9306a71f2761439c734153",
"sha256": "453b9cd3d973588ee9789fc47f2918b24a6bb2b91d4d59f5d90d6778b88f2b6c"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp310-cp310-manylinux_2_39_aarch64.whl",
"has_sig": false,
"md5_digest": "8df7aa16eb9306a71f2761439c734153",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 20164313,
"upload_time": "2025-10-14T03:30:44",
"upload_time_iso_8601": "2025-10-14T03:30:44.138598Z",
"url": "https://files.pythonhosted.org/packages/cb/12/c30b85478babfe1bda0485fc4525d27c1a5c07572bda06c3695a29e691f2/tabeline-0.6.2-cp310-cp310-manylinux_2_39_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "013ee109ce27d9f5f8a7346901ab831e0b42e80a9bd06efd6d5cef01bb242258",
"md5": "4a28e9340d43b64b631f221d422247f1",
"sha256": "e07e246450a16f8e7e04d30ba9574fd0d297b1e94c912cbd64f05df83e777fcd"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp310-cp310-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "4a28e9340d43b64b631f221d422247f1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 19944560,
"upload_time": "2025-10-14T03:30:46",
"upload_time_iso_8601": "2025-10-14T03:30:46.420399Z",
"url": "https://files.pythonhosted.org/packages/01/3e/e109ce27d9f5f8a7346901ab831e0b42e80a9bd06efd6d5cef01bb242258/tabeline-0.6.2-cp310-cp310-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eb7a6c1af6584ec24ea060b66d92db1eb84fa7ef7e891f00344ab790c93e667f",
"md5": "383a15904179581260b09ee2ebdaeefa",
"sha256": "4ba09ba310c0f82566293133dc01749c6d094810ab571f8dd3149e1404e8830c"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "383a15904179581260b09ee2ebdaeefa",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 18129081,
"upload_time": "2025-10-14T03:30:48",
"upload_time_iso_8601": "2025-10-14T03:30:48.667034Z",
"url": "https://files.pythonhosted.org/packages/eb/7a/6c1af6584ec24ea060b66d92db1eb84fa7ef7e891f00344ab790c93e667f/tabeline-0.6.2-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9123159f51c1ea748cbe14a76bff95e0e2bcf37717902a5e383166f9ad5b77ec",
"md5": "63c0197313345dc8159cdc43a1429dc0",
"sha256": "a8ae7697ca05bb8e135c9a65de5575a3e6ec16c10b4083b2ec6941095e5cf2c2"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "63c0197313345dc8159cdc43a1429dc0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 19279016,
"upload_time": "2025-10-14T03:30:51",
"upload_time_iso_8601": "2025-10-14T03:30:51.296882Z",
"url": "https://files.pythonhosted.org/packages/91/23/159f51c1ea748cbe14a76bff95e0e2bcf37717902a5e383166f9ad5b77ec/tabeline-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7bc73760ea8ea274ccc5f289bf3894387364eed2c74f4629ae325fa180d00813",
"md5": "72ee6db180aac615e39625de8cf877dc",
"sha256": "e62924e15f5c09fcaadc675026b6c70d819c1948da1d44dc8289b0ed79c9d921"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "72ee6db180aac615e39625de8cf877dc",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 18340317,
"upload_time": "2025-10-14T03:30:53",
"upload_time_iso_8601": "2025-10-14T03:30:53.545672Z",
"url": "https://files.pythonhosted.org/packages/7b/c7/3760ea8ea274ccc5f289bf3894387364eed2c74f4629ae325fa180d00813/tabeline-0.6.2-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e73a6a2e163fcf996f7c56efce68229b639294435850f97c257202bb495e6294",
"md5": "a671304b324ebf47fbb0966727385965",
"sha256": "f8463faff59df534d0a8bbee612c803ca0af321f7ba10bd4541e8c4897998fc7"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp311-cp311-manylinux_2_39_aarch64.whl",
"has_sig": false,
"md5_digest": "a671304b324ebf47fbb0966727385965",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 20165804,
"upload_time": "2025-10-14T03:30:55",
"upload_time_iso_8601": "2025-10-14T03:30:55.697657Z",
"url": "https://files.pythonhosted.org/packages/e7/3a/6a2e163fcf996f7c56efce68229b639294435850f97c257202bb495e6294/tabeline-0.6.2-cp311-cp311-manylinux_2_39_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "327a8f8c13939e5bdba106e98bb6fa72ce9194ae90670d637f914d959d500799",
"md5": "153b94d5e7ec066449ff72c06ec8411d",
"sha256": "6e699b0766e5e400d8fcf5edbecca55d54f63001edc7894a66ce6aee587ed8b0"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp311-cp311-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "153b94d5e7ec066449ff72c06ec8411d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 19942551,
"upload_time": "2025-10-14T03:30:58",
"upload_time_iso_8601": "2025-10-14T03:30:58.363457Z",
"url": "https://files.pythonhosted.org/packages/32/7a/8f8c13939e5bdba106e98bb6fa72ce9194ae90670d637f914d959d500799/tabeline-0.6.2-cp311-cp311-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "001290ca145c6f926025829b6c731fdbce6bceac52a06c2e6e5fd8de816fc1a0",
"md5": "c9d4fb18c3feeaab31a7d9ba8cf68cca",
"sha256": "91c02be0d0b1eda9e47dbad6fc8c76bab958b433ca31e93d2df8ee419e7cb36a"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "c9d4fb18c3feeaab31a7d9ba8cf68cca",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 18129205,
"upload_time": "2025-10-14T03:31:01",
"upload_time_iso_8601": "2025-10-14T03:31:01.046396Z",
"url": "https://files.pythonhosted.org/packages/00/12/90ca145c6f926025829b6c731fdbce6bceac52a06c2e6e5fd8de816fc1a0/tabeline-0.6.2-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a1dd7a718a9f77e175757b79f9321bb83f4d9d9e8cd79cfecf8a5efe069371bc",
"md5": "f8e633c11cdb105cf97d17d81b4cde1d",
"sha256": "7106ddb1a3c270f3ff442f45bbb5c540302aec4ce285bbee590b12c1f2b65798"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "f8e633c11cdb105cf97d17d81b4cde1d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 19267383,
"upload_time": "2025-10-14T03:31:03",
"upload_time_iso_8601": "2025-10-14T03:31:03.732365Z",
"url": "https://files.pythonhosted.org/packages/a1/dd/7a718a9f77e175757b79f9321bb83f4d9d9e8cd79cfecf8a5efe069371bc/tabeline-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f2da03193dc974fe45f171b5fda956b849617458a560bd41b33ed0141f792cf",
"md5": "6f59b63b49bd26be2ea7ad5a58936739",
"sha256": "4924f1c78c74c7d4d01c5f4f040a9c8b05669fb298db5dd4195e016b5c56aa9e"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6f59b63b49bd26be2ea7ad5a58936739",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 18321442,
"upload_time": "2025-10-14T03:31:06",
"upload_time_iso_8601": "2025-10-14T03:31:06.496627Z",
"url": "https://files.pythonhosted.org/packages/6f/2d/a03193dc974fe45f171b5fda956b849617458a560bd41b33ed0141f792cf/tabeline-0.6.2-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac82506f1b9fe468301c485109ae33925cbcc10f812ee1ab2df9872f5bb50948",
"md5": "cd62057bf020606d53679a564be99363",
"sha256": "e5bef533bb79ae6e4a7a3716c06684af3e9f0a1c01c70270386c81511bf67f69"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp312-cp312-manylinux_2_39_aarch64.whl",
"has_sig": false,
"md5_digest": "cd62057bf020606d53679a564be99363",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 20171337,
"upload_time": "2025-10-14T03:31:09",
"upload_time_iso_8601": "2025-10-14T03:31:09.036809Z",
"url": "https://files.pythonhosted.org/packages/ac/82/506f1b9fe468301c485109ae33925cbcc10f812ee1ab2df9872f5bb50948/tabeline-0.6.2-cp312-cp312-manylinux_2_39_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bc6344e858144ebe4ca52a3b1d8e4260cc2ff43a3c856f8dff90fa3929ce7a81",
"md5": "ed8314246eb723e5e732c4fe50975388",
"sha256": "57f747cb1cb949584f22adab041456b212b0c13e533cd0e8a7cc050e41d8e1ba"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp312-cp312-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "ed8314246eb723e5e732c4fe50975388",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 19950825,
"upload_time": "2025-10-14T03:31:11",
"upload_time_iso_8601": "2025-10-14T03:31:11.352617Z",
"url": "https://files.pythonhosted.org/packages/bc/63/44e858144ebe4ca52a3b1d8e4260cc2ff43a3c856f8dff90fa3929ce7a81/tabeline-0.6.2-cp312-cp312-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "865d4f5bc63a701a4a8840d72478c4b47bd396a7f306dd6336c2bacfed51b637",
"md5": "3380301e024738dc31ea1c0e816a0fc7",
"sha256": "2822ed29c479e8cb1d2be63b183d103e9ba4efb9ba6e366bfa140f291a7c5dc8"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "3380301e024738dc31ea1c0e816a0fc7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 18138593,
"upload_time": "2025-10-14T03:31:13",
"upload_time_iso_8601": "2025-10-14T03:31:13.632578Z",
"url": "https://files.pythonhosted.org/packages/86/5d/4f5bc63a701a4a8840d72478c4b47bd396a7f306dd6336c2bacfed51b637/tabeline-0.6.2-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a735e7895e4cdb46fd485b685e6e59be4bce2e70cb569f9f56df55eb6a600ec2",
"md5": "f927da77a40bda0fc15622a1a0a0a493",
"sha256": "6f84880e6e1c5937bb858dba1f5dfaa99ca846c27a5ef659f5ebbf01a51fa096"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "f927da77a40bda0fc15622a1a0a0a493",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 19267966,
"upload_time": "2025-10-14T03:31:16",
"upload_time_iso_8601": "2025-10-14T03:31:16.152171Z",
"url": "https://files.pythonhosted.org/packages/a7/35/e7895e4cdb46fd485b685e6e59be4bce2e70cb569f9f56df55eb6a600ec2/tabeline-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fa04dfa50de6c85ef20d69c824f73190fdd20023bdac268698ba06b5ceac917e",
"md5": "e0e41f91dcd1f7683e0e929afdbb6835",
"sha256": "3c786523c81842647c73e2ff3d3cf741d34744674211df0a550c17c25e9340bb"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e0e41f91dcd1f7683e0e929afdbb6835",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 18321276,
"upload_time": "2025-10-14T03:31:18",
"upload_time_iso_8601": "2025-10-14T03:31:18.556329Z",
"url": "https://files.pythonhosted.org/packages/fa/04/dfa50de6c85ef20d69c824f73190fdd20023bdac268698ba06b5ceac917e/tabeline-0.6.2-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e49c0298a0d72f684a2414ff85900398b60a8218d8a3b9023a2199da4259cf93",
"md5": "39fd128004007835a904d57f54c88c03",
"sha256": "e68e9d7b3942eb578b2ce023e2781c0e0412824d80ad6b70c1852035bc2929f6"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp313-cp313-manylinux_2_39_aarch64.whl",
"has_sig": false,
"md5_digest": "39fd128004007835a904d57f54c88c03",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 20171337,
"upload_time": "2025-10-14T03:31:21",
"upload_time_iso_8601": "2025-10-14T03:31:21.436065Z",
"url": "https://files.pythonhosted.org/packages/e4/9c/0298a0d72f684a2414ff85900398b60a8218d8a3b9023a2199da4259cf93/tabeline-0.6.2-cp313-cp313-manylinux_2_39_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a7ad2510747380c045068efdaba79f84e9b6180eeef287d3db4b74e574257c90",
"md5": "00b79a215fb69d157045ec0ac1156b25",
"sha256": "7977a28a0d5a2ab0cc406f181cd03a876f4454001769a1d83418d958c228fad8"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp313-cp313-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "00b79a215fb69d157045ec0ac1156b25",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 19950299,
"upload_time": "2025-10-14T03:31:23",
"upload_time_iso_8601": "2025-10-14T03:31:23.789977Z",
"url": "https://files.pythonhosted.org/packages/a7/ad/2510747380c045068efdaba79f84e9b6180eeef287d3db4b74e574257c90/tabeline-0.6.2-cp313-cp313-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4758bd6e6164253e10ea00d7c8f63860ccc36e0e1cb871b66159b68d016569f9",
"md5": "56ae5ec2a3fd0165f4147ecafd47707f",
"sha256": "15c9f146872236b1cb8a9888b9357e5849ab83d4a6cac0318d1ae90c09a7af4b"
},
"downloads": -1,
"filename": "tabeline-0.6.2-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "56ae5ec2a3fd0165f4147ecafd47707f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 18137628,
"upload_time": "2025-10-14T03:31:26",
"upload_time_iso_8601": "2025-10-14T03:31:26.064111Z",
"url": "https://files.pythonhosted.org/packages/47/58/bd6e6164253e10ea00d7c8f63860ccc36e0e1cb871b66159b68d016569f9/tabeline-0.6.2-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ca0557a0f5b2acb949561a46b55e7cf6d665c33b8912d9047a83e1210363207c",
"md5": "92bb0bcbd7b155da54729e8f643713e4",
"sha256": "a855dbd2ef38f52b9426cb41ca6794df0b16420c4b9e1416e8243b2c9bc9717b"
},
"downloads": -1,
"filename": "tabeline-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "92bb0bcbd7b155da54729e8f643713e4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 146263,
"upload_time": "2025-10-14T03:31:28",
"upload_time_iso_8601": "2025-10-14T03:31:28.140889Z",
"url": "https://files.pythonhosted.org/packages/ca/05/57a0f5b2acb949561a46b55e7cf6d665c33b8912d9047a83e1210363207c/tabeline-0.6.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-14 03:31:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "drhagen",
"github_project": "tabeline",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tabeline"
}