diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..a556690 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,37 @@ +name: Bug Report +description: Create a report to help us improve cotdata +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: input + id: os + attributes: + label: Operating System + description: What OS are you running? (Note: the Norgate Data Updater strictly requires Windows). + placeholder: e.g., Windows 11, macOS Sonoma + validations: + required: true + - type: textarea + id: description + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: How can we reproduce this? + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..b31a851 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,29 @@ +name: Feature Request +description: Suggest an idea for this project +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest a feature! + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. + validations: + required: true + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..48d0ebe --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ +## Description + +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. + +Fixes # (issue) + +## Type of change + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update + +## Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have run tests (e.g. `pytest`) and they pass locally +- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/README.md b/README.md index a18e052..322189e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # cotdata +[![PyPI version](https://img.shields.io/pypi/v/cotdata.svg)](https://pypi.org/project/cotdata/) +[![Python versions](https://img.shields.io/pypi/pyversions/cotdata.svg)](https://pypi.org/project/cotdata/) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) + Canonical data layer for the COT / futures-strategy stack. It exists so that quantitative analysis toolset never fetch data directly. They read a shared, file-based store through a stable API. ``` @@ -18,7 +22,19 @@ Canonical data layer for the COT / futures-strategy stack. It exists so that qua └──────────────────┘ └───────────────────┘ ``` -## Workspace setup (uv) +## Installation + +You can install `cotdata` directly from PyPI: +```bash +pip install cotdata +``` + +If you are running the **producer machine** on Windows to fetch Norgate data, install with the `norgate` extra: +```bash +pip install "cotdata[norgate]" +``` + +## Development When using Norgate Data one must run this on a Windows machine as Norgate Updater requires Windows. diff --git a/pyproject.toml b/pyproject.toml index 82f56b3..a4e1340 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,15 @@ build-backend = "setuptools.build_meta" name = "cotdata" version = "0.1.0" description = "Canonical data layer for COT/futures strategies — a producer/consumer split over a file-based store." +readme = "README.md" +authors = [ + {name = "Matt S.", email = "cotanalyzer@gmail.com"} +] +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] requires-python = ">=3.9" dependencies = [ "pandas>=1.5", @@ -17,6 +26,11 @@ dependencies = [ "PyYAML>=6.0", ] +[project.urls] +Homepage = "https://github.com/mspinola/cotdata" +Repository = "https://github.com/mspinola/cotdata" +Issues = "https://github.com/mspinola/cotdata/issues" + [project.optional-dependencies] # Producer-only, Windows: the Norgate Data Updater must be installed & running. norgate = ["norgatedata"]