tfs-pandas


Nametfs-pandas JSON
Version 4.0.0 PyPI version JSON
download
home_pageNone
SummaryRead and write tfs files.
upload_time2025-01-03 18:41:12
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords mad-x tfs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TFS-Pandas

[![Cron Testing](https://github.com/pylhc/tfs/workflows/Cron%20Testing/badge.svg)](https://github.com/pylhc/tfs/actions?query=workflow%3A%22Cron+Testing%22)
[![Code Climate coverage](https://img.shields.io/codeclimate/coverage/pylhc/tfs.svg?style=popout)](https://codeclimate.com/github/pylhc/tfs)
[![Code Climate maintainability (percentage)](https://img.shields.io/codeclimate/maintainability-percentage/pylhc/tfs.svg?style=popout)](https://codeclimate.com/github/pylhc/tfs)
<!-- [![GitHub last commit](https://img.shields.io/github/last-commit/pylhc/tfs.svg?style=popout)](https://github.com/pylhc/tfs/) -->
[![GitHub release](https://img.shields.io/github/v/release/pylhc/tfs?logo=github)](https://github.com/pylhc/tfs/)
[![PyPI Version](https://img.shields.io/pypi/v/tfs-pandas?label=PyPI&logo=pypi)](https://pypi.org/project/tfs-pandas/)
[![Conda-forge Version](https://img.shields.io/conda/vn/conda-forge/tfs-pandas?color=orange&logo=anaconda)](https://anaconda.org/conda-forge/tfs-pandas)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5070986.svg)](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[![Cron Testing](https://github.com/pylhc/tfs/workflows/Cron%20Testing/badge.svg)](https://github.com/pylhc/tfs/actions?query=workflow%3A%22Cron+Testing%22)\n[![Code Climate coverage](https://img.shields.io/codeclimate/coverage/pylhc/tfs.svg?style=popout)](https://codeclimate.com/github/pylhc/tfs)\n[![Code Climate maintainability (percentage)](https://img.shields.io/codeclimate/maintainability-percentage/pylhc/tfs.svg?style=popout)](https://codeclimate.com/github/pylhc/tfs)\n<!-- [![GitHub last commit](https://img.shields.io/github/last-commit/pylhc/tfs.svg?style=popout)](https://github.com/pylhc/tfs/) -->\n[![GitHub release](https://img.shields.io/github/v/release/pylhc/tfs?logo=github)](https://github.com/pylhc/tfs/)\n[![PyPI Version](https://img.shields.io/pypi/v/tfs-pandas?label=PyPI&logo=pypi)](https://pypi.org/project/tfs-pandas/)\n[![Conda-forge Version](https://img.shields.io/conda/vn/conda-forge/tfs-pandas?color=orange&logo=anaconda)](https://anaconda.org/conda-forge/tfs-pandas)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5070986.svg)](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"
}
        
Elapsed time: 0.42301s