# CyMSeed3
`cymseed3` is a Python package for reading and writing MiniSEED files using the `libmseed` library Version 3 (currently 3.1.3). This package provides a simple and efficient interface for handling seismic data in the MiniSEED format, making it easy to import, export, and manipulate seismic records.
## Features
- **Read MiniSEED Files**: Import data from MiniSEED files into Python objects for easy manipulation.
- **Write MiniSEED Files**: Export seismic data to MiniSEED format files.
- **Data Export**: Convert MiniSEED data to Python dictionaries for integration with other tools and workflows.
- **Support for Multiple Data Encodings**: Handle various data encodings supported by the `libmseed` library.
## Installation
### Prerequisites
Ensure you have Python 3.6 or higher installed. Additionally, you'll need `setuptools`, `wheel`, and `cython` for building the package if you are installing from source.
### Installing cymseed3 from PyPI
The easiest way to install `cymseed3` is via [PyPI](https://pypi.org/project/cymseed3/), using `pip`. This will download and install the latest version of the package, including all dependencies.
```bash
pip install cymseed3
```
This command will automatically handle the installation of all required dependencies, making it the preferred method for most users.
### Installing cymseed3 from Source
If you want to install `cymseed3` from source, for example, to modify the code or contribute to development, follow these steps:
1. **Clone the Repository**: Start by cloning the repository from GitHub.
```bash
git clone https://github.com/shakelab/cymseed3.git
cd cymseed3
```
2. **Install Dependencies**: Make sure to install necessary build tools and dependencies:
```bash
pip install setuptools wheel cython
```
3. **Build and Install Locally**: Use the following commands to compile Cython extensions and install the package in editable mode:
```bash
python3 setup.py build_ext --inplace
pip install -e .
```
This approach allows you to make changes to the source code and have them immediately available without reinstalling the package.
## Usage
Here’s an example of how to use `cymseed3` to create, write, read, and export MiniSEED data:
```python
from cymseed3 import MiniSeed
# Initialise a Miniseed object
ms = MiniSeed()
record_dict = {
'network' : 'OX',
'station' : 'ABCD',
'location' : '00',
'channel' : 'HHZ',
'starttime' : '2010-01-10T08:23:45.019538Z',
'rate' : 200,
'nsamp' : 100,
'data' : [i for i in range(100)]
}
ms.import_record(record_dict)
# Write data into binary buffer
byte_buffer = ms.write(msformat=2, reclen=512, encoding=11)
# Write bytes to file
with open("my_file.mseed", "wb") as fid:
fid.write(byte_buffer)
# Read the file
with open("my_file.mseed", 'rb') as fid:
byte_buffer = fid.read()
# Read the buffer
ms.read(byte_buffer, verbose=1)
# Export data to a list of dictionaries.
rec_list = ms.export_records()
print(rec_list[0])
```
Running the example above will print the first record from the MiniSEED file as a Python dictionary, showing details like network, station, channel, and the data itself.
## Contributing
Contributions are welcome! If you would like to contribute to this project, please fork the repository and submit a pull request. You can also report bugs or suggest new features by opening an issue.
### How to Contribute
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Commit your changes (`git commit -am 'Add a new feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Open a Pull Request.
## License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). You are free to use, modify, and distribute this software under the terms of the GPL-3.0 license. See the [LICENSE](LICENSE) file for more details.
## Acknowledgements
`cymseed3` uses the `libmseed` library for handling MiniSEED files (https://github.com/EarthScope/libmseed). The `libmseed` library is distributed by Data EarthScope Services (Copyright (C) 2024 Chad Trabant) under the Apache License, Version 2.0. A copy of the library and its license is included in this package.
## Support
If you have any questions or need help, please open an issue on the GitHub repository or contact us via email.
## Contact
- Author: Valerio Poggi
- GitHub: https://github.com/klunk386
Raw data
{
"_id": null,
"home_page": "https://github.com/shakelab/cymseed3",
"name": "cymseed3",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "miniseed, libmseed, seismic, data, processing",
"author": "Valerio Poggi",
"author_email": "Valerio Poggi <vpoggi@ogs.it>",
"download_url": "https://files.pythonhosted.org/packages/b7/d3/19f8f241d1a8712e194bbc8d464baec55abfca789759eed8502c83f59ac6/cymseed3-0.1.4.tar.gz",
"platform": null,
"description": "# CyMSeed3\n\n `cymseed3` is a Python package for reading and writing MiniSEED files using the `libmseed` library Version 3 (currently 3.1.3). This package provides a simple and efficient interface for handling seismic data in the MiniSEED format, making it easy to import, export, and manipulate seismic records.\n\n ## Features\n\n - **Read MiniSEED Files**: Import data from MiniSEED files into Python objects for easy manipulation.\n - **Write MiniSEED Files**: Export seismic data to MiniSEED format files.\n - **Data Export**: Convert MiniSEED data to Python dictionaries for integration with other tools and workflows.\n - **Support for Multiple Data Encodings**: Handle various data encodings supported by the `libmseed` library.\n\n ## Installation\n\n### Prerequisites\n\nEnsure you have Python 3.6 or higher installed. Additionally, you'll need `setuptools`, `wheel`, and `cython` for building the package if you are installing from source.\n\n### Installing cymseed3 from PyPI\n\nThe easiest way to install `cymseed3` is via [PyPI](https://pypi.org/project/cymseed3/), using `pip`. This will download and install the latest version of the package, including all dependencies.\n\n```bash\npip install cymseed3\n```\n\nThis command will automatically handle the installation of all required dependencies, making it the preferred method for most users.\n\n### Installing cymseed3 from Source\n\nIf you want to install `cymseed3` from source, for example, to modify the code or contribute to development, follow these steps:\n\n1. **Clone the Repository**: Start by cloning the repository from GitHub.\n\n ```bash\n git clone https://github.com/shakelab/cymseed3.git\n cd cymseed3\n ```\n\n2. **Install Dependencies**: Make sure to install necessary build tools and dependencies:\n\n ```bash\n pip install setuptools wheel cython\n ```\n\n3. **Build and Install Locally**: Use the following commands to compile Cython extensions and install the package in editable mode:\n\n ```bash\n python3 setup.py build_ext --inplace\n pip install -e .\n ```\n\n This approach allows you to make changes to the source code and have them immediately available without reinstalling the package.\n\n ## Usage\n\n Here\u2019s an example of how to use `cymseed3` to create, write, read, and export MiniSEED data:\n\n ```python\n from cymseed3 import MiniSeed\n\n # Initialise a Miniseed object\n ms = MiniSeed()\n\n record_dict = {\n 'network' : 'OX',\n 'station' : 'ABCD',\n 'location' : '00',\n 'channel' : 'HHZ',\n 'starttime' : '2010-01-10T08:23:45.019538Z',\n 'rate' : 200,\n 'nsamp' : 100,\n 'data' : [i for i in range(100)]\n }\n\n ms.import_record(record_dict)\n\n # Write data into binary buffer\n byte_buffer = ms.write(msformat=2, reclen=512, encoding=11)\n\n # Write bytes to file\n with open(\"my_file.mseed\", \"wb\") as fid:\n fid.write(byte_buffer)\n\n # Read the file\n with open(\"my_file.mseed\", 'rb') as fid:\n byte_buffer = fid.read()\n\n # Read the buffer\n ms.read(byte_buffer, verbose=1)\n\n # Export data to a list of dictionaries.\n rec_list = ms.export_records()\n\n print(rec_list[0])\n ```\n\n Running the example above will print the first record from the MiniSEED file as a Python dictionary, showing details like network, station, channel, and the data itself.\n\n ## Contributing\n\n Contributions are welcome! If you would like to contribute to this project, please fork the repository and submit a pull request. You can also report bugs or suggest new features by opening an issue.\n\n ### How to Contribute\n\n 1. Fork the repository.\n 2. Create a new branch (`git checkout -b feature/YourFeature`).\n 3. Commit your changes (`git commit -am 'Add a new feature'`).\n 4. Push to the branch (`git push origin feature/YourFeature`).\n 5. Open a Pull Request.\n\n ## License\n\n This project is licensed under the GNU General Public License v3.0 (GPL-3.0). You are free to use, modify, and distribute this software under the terms of the GPL-3.0 license. See the [LICENSE](LICENSE) file for more details.\n\n ## Acknowledgements\n\n `cymseed3` uses the `libmseed` library for handling MiniSEED files (https://github.com/EarthScope/libmseed). The `libmseed` library is distributed by Data EarthScope Services (Copyright (C) 2024 Chad Trabant) under the Apache License, Version 2.0. A copy of the library and its license is included in this package.\n\n ## Support\n\n If you have any questions or need help, please open an issue on the GitHub repository or contact us via email.\n\n ## Contact\n\n - Author: Valerio Poggi\n - GitHub: https://github.com/klunk386\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "A Python package for reading and writing miniseed files using libmseed 3.",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/shakelab/cymseed3"
},
"split_keywords": [
"miniseed",
" libmseed",
" seismic",
" data",
" processing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b7d319f8f241d1a8712e194bbc8d464baec55abfca789759eed8502c83f59ac6",
"md5": "2c98b33ee8d7e5a8cf12d47cfea64d63",
"sha256": "3454a5203c5a476a8a89c313aac924f83f92859a3c5de85bc1fb91de5d8936ee"
},
"downloads": -1,
"filename": "cymseed3-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "2c98b33ee8d7e5a8cf12d47cfea64d63",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 418608,
"upload_time": "2024-09-02T20:34:47",
"upload_time_iso_8601": "2024-09-02T20:34:47.179317Z",
"url": "https://files.pythonhosted.org/packages/b7/d3/19f8f241d1a8712e194bbc8d464baec55abfca789759eed8502c83f59ac6/cymseed3-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-02 20:34:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "shakelab",
"github_project": "cymseed3",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "cymseed3"
}