Name | tfs-pandas JSON |
Version |
4.0.0
JSON |
| download |
home_page | None |
Summary | Read and write tfs files. |
upload_time | 2025-01-03 18:41:12 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
mad-x
tfs
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# TFS-Pandas
[](https://github.com/pylhc/tfs/actions?query=workflow%3A%22Cron+Testing%22)
[](https://codeclimate.com/github/pylhc/tfs)
[](https://codeclimate.com/github/pylhc/tfs)
<!-- [](https://github.com/pylhc/tfs/) -->
[](https://github.com/pylhc/tfs/)
[](https://pypi.org/project/tfs-pandas/)
[](https://anaconda.org/conda-forge/tfs-pandas)
[](https://doi.org/10.5281/zenodo.5070986)
This package provides reading and writing functionality for [**Table Format System (TFS)**](https://pylhc.github.io/tfs/tfsformat.html) files.
Files are read into a `TfsDataFrame`, a class built on top of the `pandas.DataFrame`, which in addition to the normal behavior attaches a dictionary of headers to the `DataFrame`.
See the [API documentation](https://pylhc.github.io/tfs/) for details.
## Installing
Installation is easily done via `pip`:
```bash
python -m pip install tfs-pandas
```
One can also install in a `conda`/`mamba` environment via the `conda-forge` channel with:
```bash
conda install -c conda-forge tfs-pandas
```
## Example Usage
The package is imported as `tfs`, and exports top-level functions for reading and writing:
```python
import tfs
# Loading a TFS file is simple
data_frame = tfs.read("path_to_input.tfs", index="index_column")
# You can access and modify the headers with the .headers attribute
useful_variable = data_frame.headers["SOME_KEY"]
data_frame.headers["NEW_KEY"] = some_variable
# Manipulate data as you do with pandas DataFrames
data_frame["NEWCOL"] = data_frame.COL_A * data_frame.COL_B
# You can check the validity of a TfsDataFrame, speficying the
# compatibility mode as well as the behavior in case of errors
tfs.frame.validate(
data_frame,
non_unique_behavior="raise", # or choose "warn"
compatibility="mad-x", # or choose "mad-ng"
)
# Writing out to disk is simple too
tfs.write("path_to_output.tfs", data_frame, save_index="index_column")
```
Compression is automatically supported, based on the provided file extension (for supported formats):
```python
import tfs
# Reading a compressed file is simple, compression format is inferred
df = tfs.read("path_to_input.tfs.gz")
# When writing choose the compression format by providing the appropriate file extension
tfs.write("path_to_output.tfs.bz2", df)
tfs.write("path_to_output.tfs.zip", df)
```
## License
This project is licensed under the `MIT License` - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "tfs-pandas",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "MAD-X, TFS",
"author": null,
"author_email": "OMC Team <pylhc@github.com>",
"download_url": "https://files.pythonhosted.org/packages/9d/e3/50ad8834f0ad1d419a56dbb066bce69a480709c49bd9d880cb43525e87c5/tfs_pandas-4.0.0.tar.gz",
"platform": null,
"description": "# TFS-Pandas\n\n[](https://github.com/pylhc/tfs/actions?query=workflow%3A%22Cron+Testing%22)\n[](https://codeclimate.com/github/pylhc/tfs)\n[](https://codeclimate.com/github/pylhc/tfs)\n<!-- [](https://github.com/pylhc/tfs/) -->\n[](https://github.com/pylhc/tfs/)\n[](https://pypi.org/project/tfs-pandas/)\n[](https://anaconda.org/conda-forge/tfs-pandas)\n[](https://doi.org/10.5281/zenodo.5070986)\n\nThis package provides reading and writing functionality for [**Table Format System (TFS)**](https://pylhc.github.io/tfs/tfsformat.html) files.\nFiles are read into a `TfsDataFrame`, a class built on top of the `pandas.DataFrame`, which in addition to the normal behavior attaches a dictionary of headers to the `DataFrame`.\n\nSee the [API documentation](https://pylhc.github.io/tfs/) for details.\n\n## Installing\n\nInstallation is easily done via `pip`:\n\n```bash\npython -m pip install tfs-pandas\n```\n\nOne can also install in a `conda`/`mamba` environment via the `conda-forge` channel with:\n\n```bash\nconda install -c conda-forge tfs-pandas\n```\n\n## Example Usage\n\nThe package is imported as `tfs`, and exports top-level functions for reading and writing:\n\n```python\nimport tfs\n\n# Loading a TFS file is simple\ndata_frame = tfs.read(\"path_to_input.tfs\", index=\"index_column\")\n\n# You can access and modify the headers with the .headers attribute\nuseful_variable = data_frame.headers[\"SOME_KEY\"]\ndata_frame.headers[\"NEW_KEY\"] = some_variable\n\n# Manipulate data as you do with pandas DataFrames\ndata_frame[\"NEWCOL\"] = data_frame.COL_A * data_frame.COL_B\n\n# You can check the validity of a TfsDataFrame, speficying the\n# compatibility mode as well as the behavior in case of errors\ntfs.frame.validate(\n data_frame,\n non_unique_behavior=\"raise\", # or choose \"warn\"\n compatibility=\"mad-x\", # or choose \"mad-ng\"\n)\n\n# Writing out to disk is simple too\ntfs.write(\"path_to_output.tfs\", data_frame, save_index=\"index_column\")\n```\n\nCompression is automatically supported, based on the provided file extension (for supported formats):\n\n```python\nimport tfs\n\n# Reading a compressed file is simple, compression format is inferred\ndf = tfs.read(\"path_to_input.tfs.gz\")\n\n# When writing choose the compression format by providing the appropriate file extension\ntfs.write(\"path_to_output.tfs.bz2\", df)\ntfs.write(\"path_to_output.tfs.zip\", df)\n```\n\n## License\n\nThis project is licensed under the `MIT License` - see the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "Read and write tfs files.",
"version": "4.0.0",
"project_urls": {
"changelog": "https://github.com/pylhc/tfs/blob/master/CHANGELOG.md",
"documentation": "https://pylhc.github.io/tfs/",
"homepage": "https://github.com/pylhc/tfs",
"repository": "https://github.com/pylhc/tfs"
},
"split_keywords": [
"mad-x",
" tfs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "29e3a7d290ad0347648458aaf5b52712e22b5c26b179a02a3edad9f225e39b20",
"md5": "7202d98788865dd5b3b2a5efeee200a8",
"sha256": "da9b581dddd0869e0c0914aee892f0fda1bbf19967d7c655945ef47af8dcfc9f"
},
"downloads": -1,
"filename": "tfs_pandas-4.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7202d98788865dd5b3b2a5efeee200a8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 31777,
"upload_time": "2025-01-03T18:41:11",
"upload_time_iso_8601": "2025-01-03T18:41:11.870287Z",
"url": "https://files.pythonhosted.org/packages/29/e3/a7d290ad0347648458aaf5b52712e22b5c26b179a02a3edad9f225e39b20/tfs_pandas-4.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9de350ad8834f0ad1d419a56dbb066bce69a480709c49bd9d880cb43525e87c5",
"md5": "1e749239713d1dd6dc731d3de5429849",
"sha256": "0e9ce79cf2562159330d04f66b47862ea4dae956156ce12ed84a6fabbe2918be"
},
"downloads": -1,
"filename": "tfs_pandas-4.0.0.tar.gz",
"has_sig": false,
"md5_digest": "1e749239713d1dd6dc731d3de5429849",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 33078,
"upload_time": "2025-01-03T18:41:12",
"upload_time_iso_8601": "2025-01-03T18:41:12.998241Z",
"url": "https://files.pythonhosted.org/packages/9d/e3/50ad8834f0ad1d419a56dbb066bce69a480709c49bd9d880cb43525e87c5/tfs_pandas-4.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-03 18:41:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pylhc",
"github_project": "tfs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tfs-pandas"
}