Name | heisse-preise-data JSON |
Version |
1.0.3
JSON |
| download |
home_page | None |
Summary | A Python package for downloading and extracting the data from heisse-preise.io with no dependencies. |
upload_time | 2025-01-11 23:16:10 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | MIT License Copyright (c) 2025 Dominik Falkner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
data
heisse-preise
daily-updated
compressed
data-package
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Heisse Preise Data
## Project Overview
This project provides compressed datasets derived from [heisse-preise.io](https://github.com/badlogic/heissepreise), offering an easy and efficient way to access up-to-date pricing data from supermarkets in Austria.
### Data Sources
The data originates from:
- [heisse-preise.io](https://github.com/badlogic/heissepreise)
- [h43z](https://h.43z.one)
- [Dossier: Anatomie eines Supermarkts - Die Methodik](https://www.dossier.at/dossiers/supermaerkte/quellen/anatomie-eines-supermarkts-die-methodik/)
### Build Process
- The dataset is built daily to ensure the latest pricing data is available.
- The most recent build can be downloaded from the following link:
`https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz`
## Usage Examples
### Download and Extract Data
#### Python Package
- No dependencies
- Minimal python version should be 3.6
- Package: https://pypi.org/project/heisse-preise-data
```
pip install heisse-preise-data
```
```python
from heisse_preise_data import download
try:
raw = download()
print(json.dumps(raw, indent=2))
except RuntimeError as e:
print(f"An error occurred: {e}")
```
```python
from heisse_preise_data import download
import pandas as pd
try:
data = pd.DataFrame(download())
data.head(5)
except RuntimeError as e:
print(f"An error occurred: {e}")
```
#### Python Example
```python
import requests
import tarfile
import io
import json
url = 'https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz'
json_filename = 'latest-canonical.json'
try:
# Download the tar.gz file into memory
response = requests.get(url)
response.raise_for_status()
# Open the tar.gz file directly from memory
with tarfile.open(fileobj=io.BytesIO(response.content), mode='r:gz') as tar:
# Extract and read the JSON file directly from the tar archive
json_file = tar.extractfile(json_filename)
if json_file:
json_data = json.load(json_file)
print(json.dumps(json_data, indent=2))
else:
print(f"{json_filename} not found in the archive.")
except requests.RequestException as e:
print(f"Error downloading data: {e}")
except (tarfile.TarError, json.JSONDecodeError) as e:
print(f"Error processing files: {e}")
```
#### JavaScript Example (Node.js)
```javascript
const https = require('https');
const fs = require('fs');
const tar = require('tar');
const url = 'https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz';
https.get(url, (response) => {
const file = fs.createWriteStream('latest-canonical.tar.gz');
response.pipe(file);
file.on('finish', () => {
file.close();
tar.x({ file: 'latest-canonical.tar.gz' }).then(() => {
fs.readFile('latest-canonical.json', (err, data) => {
if (err) throw err;
const jsonData = JSON.parse(data);
console.log(JSON.stringify(jsonData, null, 2));
});
});
});
}).on('error', (err) => {
console.error(Error downloading data: ${err.message});
});
```
## Contributing
If you wish to contribute or improve the project, feel free to open an issue or submit a pull request.
## Build
```sh
python -m build
```
## License
This project is licensed under the terms provided by the original data sources.
Raw data
{
"_id": null,
"home_page": null,
"name": "heisse-preise-data",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "data, heisse-preise, daily-updated, compressed, data-package",
"author": null,
"author_email": "Dominik Falkner <falkner.dominik@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/36/5d/730d494c88a5f8f4ba5e962a5b89e8f023d3b23ae7190925456642eb3824/heisse_preise_data-1.0.3.tar.gz",
"platform": null,
"description": "# Heisse Preise Data\n\n## Project Overview\nThis project provides compressed datasets derived from [heisse-preise.io](https://github.com/badlogic/heissepreise), offering an easy and efficient way to access up-to-date pricing data from supermarkets in Austria.\n\n### Data Sources\nThe data originates from:\n- [heisse-preise.io](https://github.com/badlogic/heissepreise)\n- [h43z](https://h.43z.one)\n- [Dossier: Anatomie eines Supermarkts - Die Methodik](https://www.dossier.at/dossiers/supermaerkte/quellen/anatomie-eines-supermarkts-die-methodik/)\n\n### Build Process\n- The dataset is built daily to ensure the latest pricing data is available.\n- The most recent build can be downloaded from the following link:\n `https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz`\n\n## Usage Examples\n\n### Download and Extract Data\n\n#### Python Package\n\n- No dependencies\n- Minimal python version should be 3.6\n- Package: https://pypi.org/project/heisse-preise-data\n\n```\npip install heisse-preise-data\n```\n\n```python\nfrom heisse_preise_data import download\n\ntry:\n raw = download()\n print(json.dumps(raw, indent=2))\nexcept RuntimeError as e:\n print(f\"An error occurred: {e}\")\n\n```\n\n```python\nfrom heisse_preise_data import download\nimport pandas as pd\n\ntry:\n data = pd.DataFrame(download())\n data.head(5)\nexcept RuntimeError as e:\n print(f\"An error occurred: {e}\")\n```\n\n#### Python Example\n```python\nimport requests\nimport tarfile\nimport io\nimport json\n\nurl = 'https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz'\njson_filename = 'latest-canonical.json'\n\ntry:\n # Download the tar.gz file into memory\n response = requests.get(url)\n response.raise_for_status()\n\n # Open the tar.gz file directly from memory\n with tarfile.open(fileobj=io.BytesIO(response.content), mode='r:gz') as tar:\n # Extract and read the JSON file directly from the tar archive\n json_file = tar.extractfile(json_filename)\n if json_file:\n json_data = json.load(json_file)\n print(json.dumps(json_data, indent=2))\n else:\n print(f\"{json_filename} not found in the archive.\")\n\nexcept requests.RequestException as e:\n print(f\"Error downloading data: {e}\")\nexcept (tarfile.TarError, json.JSONDecodeError) as e:\n print(f\"Error processing files: {e}\")\n\n```\n\n#### JavaScript Example (Node.js)\n```javascript\nconst https = require('https');\nconst fs = require('fs');\nconst tar = require('tar');\n\nconst url = 'https://github.com/falknerdominik/heisse-preise-data/releases/latest/download/latest-canonical.tar.gz';\n\nhttps.get(url, (response) => {\n const file = fs.createWriteStream('latest-canonical.tar.gz');\n response.pipe(file);\n file.on('finish', () => {\n file.close();\n tar.x({ file: 'latest-canonical.tar.gz' }).then(() => {\n fs.readFile('latest-canonical.json', (err, data) => {\n if (err) throw err;\n const jsonData = JSON.parse(data);\n console.log(JSON.stringify(jsonData, null, 2));\n });\n });\n });\n}).on('error', (err) => {\n console.error(Error downloading data: ${err.message});\n});\n```\n\n## Contributing\nIf you wish to contribute or improve the project, feel free to open an issue or submit a pull request.\n\n## Build\n\n```sh\npython -m build\n```\n\n## License\nThis project is licensed under the terms provided by the original data sources.\n\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2025 Dominik Falkner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "A Python package for downloading and extracting the data from heisse-preise.io with no dependencies.",
"version": "1.0.3",
"project_urls": {
"Documentation": "https://github.com/falknerdominik/heisse-preise-data",
"Homepage": "https://github.com/falknerdominik/heisse-preise-data",
"Repository": "https://github.com/falknerdominik/heisse-preise-data"
},
"split_keywords": [
"data",
" heisse-preise",
" daily-updated",
" compressed",
" data-package"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "94ef2744b9c00422ffae152d7e896f9ec227760eb9b2cd2aadd25b52973a554a",
"md5": "9d2d2ccc0dff9eead28cfd151c4cecea",
"sha256": "fea29499eaca8a2cc14f21400c9523697dc54748ab23fbf374aca479f3b43160"
},
"downloads": -1,
"filename": "heisse_preise_data-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9d2d2ccc0dff9eead28cfd151c4cecea",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5292,
"upload_time": "2025-01-11T23:16:06",
"upload_time_iso_8601": "2025-01-11T23:16:06.930580Z",
"url": "https://files.pythonhosted.org/packages/94/ef/2744b9c00422ffae152d7e896f9ec227760eb9b2cd2aadd25b52973a554a/heisse_preise_data-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "365d730d494c88a5f8f4ba5e962a5b89e8f023d3b23ae7190925456642eb3824",
"md5": "cdf339a98a70a0d4a94c4cb781f76232",
"sha256": "390324ba9766862cc60616f9bb4b0b2c35fa8ceb72546aa83f75b4c14e9b7901"
},
"downloads": -1,
"filename": "heisse_preise_data-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "cdf339a98a70a0d4a94c4cb781f76232",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4436,
"upload_time": "2025-01-11T23:16:10",
"upload_time_iso_8601": "2025-01-11T23:16:10.835657Z",
"url": "https://files.pythonhosted.org/packages/36/5d/730d494c88a5f8f4ba5e962a5b89e8f023d3b23ae7190925456642eb3824/heisse_preise_data-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-11 23:16:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "falknerdominik",
"github_project": "heisse-preise-data",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "heisse-preise-data"
}