Name | lunar-times JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | Calculate lunar rise and set times for any location |
upload_time | 2025-07-16 22:45:37 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License
Copyright (c) 2024 cscortes
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 |
astronomy
cli
lunar
moonrise
moonset
times
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Lunar Times
[](https://github.com/cscortes/lunar-times/actions)
[](https://www.python.org/downloads/)
[](https://badge.fury.io/py/lunar-times)
[](https://codecov.io/gh/cscortes/lunar-times)
A command-line Python application that calculates moonrise and moonset times for any location. The application integrates with external APIs to provide accurate astronomical data with proper timezone handling.
## Features
- ๐ Calculate moonrise and moonset times for any US city and state
- ๐ Automatic coordinate resolution using OpenStreetMap geocoding
- ๐ Timezone-aware calculations with proper daylight saving time handling
- ๐ง Debug mode for development and testing
- ๐ Clean command-line interface with clear output formatting
- โ
**Enterprise-grade CI/CD** with automated testing across multiple Python versions and platforms
## Quick Start
```bash
# Install dependencies
make install
# Run the application
make run
# Or use debug mode (defaults to El Paso, TX)
make run-debug
# Run tests
make test
# Check code quality
make check
```
## Example Usage
```bash
$ lunar-times
Enter the city: Austin
Enter the state: TX
# Moon rise/set times in (Timezone: America/Chicago -6.0) on 2024-01-15:
- RISE: 10:45 PM
- SET: 11:30 AM
```
## Documentation
- **[Usage Guide](docs/USAGE.md)** - Detailed usage instructions and examples
- **[Testing Documentation](docs/TEST.md)** - Comprehensive testing documentation and coverage analysis
- **[Setup Guide](docs/SETUP.md)** - Installation and configuration instructions
- **[Invisible Character Detection](scripts/invisible_chars_commands.md)** - Tools for detecting and removing invisible characters in AI-generated code
- **[Architecture](docs/ARCH.md)** - Technical architecture and design documentation
- **[Changelog](docs/CHANGELOG.md)** - Version history and release notes
- **[Failure Analysis](docs/FAILURE.md)** - Troubleshooting and known issues
## Development & CI/CD
This project uses **GitHub Actions** for comprehensive automated testing and deployment. All workflows are **live and operational**:
### Continuous Integration โ
- **Multi-Python Testing**: Automated testing on Python 3.8, 3.9, 3.10, 3.11, and 3.12
- **Cross-Platform**: Tests run on Ubuntu, Windows, and macOS
- **Quality Gates**: Linting, type checking, test coverage, and security scanning
- **Fast Feedback**: Quick validation jobs provide rapid feedback on pull requests
### Automated Deployment โ
- **PyPI Publishing**: Automatic package publishing on version tags
- **GitHub Releases**: Automated release creation with changelog integration
- **Health Monitoring**: Weekly API health checks with automatic issue creation
### Operational Workflows
- **CI Pipeline** ([`.github/workflows/ci.yml`](.github/workflows/ci.yml)) - 212 lines of comprehensive testing automation
- **Release Pipeline** ([`.github/workflows/release.yml`](.github/workflows/release.yml)) - 104 lines of deployment automation
- **Health Monitoring** ([`.github/workflows/health-check.yml`](.github/workflows/health-check.yml)) - 57 lines of API monitoring
### Development Workflow
```bash
# All development commands work with CI
make test # Runs same tests as CI
make check # Runs all quality checks
make build-package # Builds package like CI
```
View live [workflow runs](https://github.com/cscortes/lunar-times/actions) and [automation details](.github/workflows/).
## Requirements
- Python 3.8+
- [uv](https://docs.astral.sh/uv/) package manager
- Internet connection for API calls
- Dependencies: requests, geopy, timezonefinder, pytz
## License
This project is licensed under the terms in the [LICENSE](LICENSE) file.
Raw data
{
"_id": null,
"home_page": null,
"name": "lunar-times",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Luis Cort\u00e9s <cscortes@users.noreply.github.com>",
"keywords": "astronomy, cli, lunar, moonrise, moonset, times",
"author": null,
"author_email": "Luis Cort\u00e9s <cscortes@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/83/71/07b4cf4419c4344ac485e510d5709e75c69cce6c564d5acd386ecbbf2f7a/lunar_times-1.0.0.tar.gz",
"platform": null,
"description": "# Lunar Times\n\n[](https://github.com/cscortes/lunar-times/actions)\n[](https://www.python.org/downloads/)\n[](https://badge.fury.io/py/lunar-times)\n[](https://codecov.io/gh/cscortes/lunar-times)\n\nA command-line Python application that calculates moonrise and moonset times for any location. The application integrates with external APIs to provide accurate astronomical data with proper timezone handling.\n\n## Features\n\n- \ud83c\udf19 Calculate moonrise and moonset times for any US city and state\n- \ud83d\udccd Automatic coordinate resolution using OpenStreetMap geocoding\n- \ud83d\udd50 Timezone-aware calculations with proper daylight saving time handling\n- \ud83d\udd27 Debug mode for development and testing\n- \ud83d\ude80 Clean command-line interface with clear output formatting\n- \u2705 **Enterprise-grade CI/CD** with automated testing across multiple Python versions and platforms\n\n## Quick Start\n\n```bash\n# Install dependencies\nmake install\n\n# Run the application\nmake run\n\n# Or use debug mode (defaults to El Paso, TX)\nmake run-debug\n\n# Run tests\nmake test\n\n# Check code quality\nmake check\n```\n\n## Example Usage\n\n```bash\n$ lunar-times\nEnter the city: Austin\nEnter the state: TX\n# Moon rise/set times in (Timezone: America/Chicago -6.0) on 2024-01-15:\n- RISE: 10:45 PM\n- SET: 11:30 AM\n```\n\n## Documentation\n\n- **[Usage Guide](docs/USAGE.md)** - Detailed usage instructions and examples\n- **[Testing Documentation](docs/TEST.md)** - Comprehensive testing documentation and coverage analysis\n- **[Setup Guide](docs/SETUP.md)** - Installation and configuration instructions\n- **[Invisible Character Detection](scripts/invisible_chars_commands.md)** - Tools for detecting and removing invisible characters in AI-generated code\n- **[Architecture](docs/ARCH.md)** - Technical architecture and design documentation\n- **[Changelog](docs/CHANGELOG.md)** - Version history and release notes\n- **[Failure Analysis](docs/FAILURE.md)** - Troubleshooting and known issues\n\n## Development & CI/CD\n\nThis project uses **GitHub Actions** for comprehensive automated testing and deployment. All workflows are **live and operational**:\n\n### Continuous Integration \u2705\n- **Multi-Python Testing**: Automated testing on Python 3.8, 3.9, 3.10, 3.11, and 3.12\n- **Cross-Platform**: Tests run on Ubuntu, Windows, and macOS \n- **Quality Gates**: Linting, type checking, test coverage, and security scanning\n- **Fast Feedback**: Quick validation jobs provide rapid feedback on pull requests\n\n### Automated Deployment \u2705\n- **PyPI Publishing**: Automatic package publishing on version tags\n- **GitHub Releases**: Automated release creation with changelog integration \n- **Health Monitoring**: Weekly API health checks with automatic issue creation\n\n### Operational Workflows\n- **CI Pipeline** ([`.github/workflows/ci.yml`](.github/workflows/ci.yml)) - 212 lines of comprehensive testing automation\n- **Release Pipeline** ([`.github/workflows/release.yml`](.github/workflows/release.yml)) - 104 lines of deployment automation\n- **Health Monitoring** ([`.github/workflows/health-check.yml`](.github/workflows/health-check.yml)) - 57 lines of API monitoring\n\n### Development Workflow\n```bash\n# All development commands work with CI\nmake test # Runs same tests as CI\nmake check # Runs all quality checks \nmake build-package # Builds package like CI\n```\n\nView live [workflow runs](https://github.com/cscortes/lunar-times/actions) and [automation details](.github/workflows/).\n\n## Requirements\n\n- Python 3.8+\n- [uv](https://docs.astral.sh/uv/) package manager\n- Internet connection for API calls\n- Dependencies: requests, geopy, timezonefinder, pytz\n\n## License\n\nThis project is licensed under the terms in the [LICENSE](LICENSE) file.\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 cscortes\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "Calculate lunar rise and set times for any location",
"version": "1.0.0",
"project_urls": {
"Changelog": "https://github.com/cscortes/lunar-times/blob/main/docs/CHANGELOG.md",
"Documentation": "https://github.com/cscortes/lunar-times/tree/main/docs",
"Homepage": "https://github.com/cscortes/lunar-times",
"Issues": "https://github.com/cscortes/lunar-times/issues",
"Repository": "https://github.com/cscortes/lunar-times"
},
"split_keywords": [
"astronomy",
" cli",
" lunar",
" moonrise",
" moonset",
" times"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4668f6be8afb61b17f5deb5635a62c2495385307a74148e092780950cb78bf32",
"md5": "0f1dc7d5626ff89e4b9e9519995eda74",
"sha256": "b3f861e43e98de528dab319c8219d6def40e9b8391864882984b945dd1630346"
},
"downloads": -1,
"filename": "lunar_times-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0f1dc7d5626ff89e4b9e9519995eda74",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7579,
"upload_time": "2025-07-16T22:45:35",
"upload_time_iso_8601": "2025-07-16T22:45:35.997552Z",
"url": "https://files.pythonhosted.org/packages/46/68/f6be8afb61b17f5deb5635a62c2495385307a74148e092780950cb78bf32/lunar_times-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "837107b4cf4419c4344ac485e510d5709e75c69cce6c564d5acd386ecbbf2f7a",
"md5": "3e3fbbff3ab6d2e0e23077c61adebb1b",
"sha256": "f183bcc3920c873bedd3abae4d3e524bb156feb93d4bf3fa1737d3729a8f1c3b"
},
"downloads": -1,
"filename": "lunar_times-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "3e3fbbff3ab6d2e0e23077c61adebb1b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 121987,
"upload_time": "2025-07-16T22:45:37",
"upload_time_iso_8601": "2025-07-16T22:45:37.371634Z",
"url": "https://files.pythonhosted.org/packages/83/71/07b4cf4419c4344ac485e510d5709e75c69cce6c564d5acd386ecbbf2f7a/lunar_times-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 22:45:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cscortes",
"github_project": "lunar-times",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lunar-times"
}