cognitive-discovery-platform 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cognitive_discovery_platform-0.5.0/.github/CODEOWNERS +4 -0
- cognitive_discovery_platform-0.5.0/.github/FUNDING.yml +3 -0
- cognitive_discovery_platform-0.5.0/.github/ISSUE_TEMPLATE/bug_report.md +18 -0
- cognitive_discovery_platform-0.5.0/.github/ISSUE_TEMPLATE/feature_request.md +12 -0
- cognitive_discovery_platform-0.5.0/.github/PULL_REQUEST_TEMPLATE.md +8 -0
- cognitive_discovery_platform-0.5.0/.github/dependabot.yml +18 -0
- cognitive_discovery_platform-0.5.0/.github/labeler.yml +34 -0
- cognitive_discovery_platform-0.5.0/.github/workflows/dependabot-auto-merge.yml +16 -0
- cognitive_discovery_platform-0.5.0/.github/workflows/pr-automation.yml +80 -0
- cognitive_discovery_platform-0.5.0/.github/workflows/pypi-publish.yml +34 -0
- cognitive_discovery_platform-0.5.0/.github/workflows/tests.yml +45 -0
- cognitive_discovery_platform-0.5.0/.gitignore +165 -0
- cognitive_discovery_platform-0.5.0/CHANGELOG.md +138 -0
- cognitive_discovery_platform-0.5.0/CITATION.cff +29 -0
- cognitive_discovery_platform-0.5.0/CODE_OF_CONDUCT.md +25 -0
- cognitive_discovery_platform-0.5.0/CONTRIBUTING.md +110 -0
- cognitive_discovery_platform-0.5.0/LICENSE +21 -0
- cognitive_discovery_platform-0.5.0/PKG-INFO +379 -0
- cognitive_discovery_platform-0.5.0/README.md +341 -0
- cognitive_discovery_platform-0.5.0/ROADMAP.md +31 -0
- cognitive_discovery_platform-0.5.0/SECURITY.md +15 -0
- cognitive_discovery_platform-0.5.0/assets/logo.svg +38 -0
- cognitive_discovery_platform-0.5.0/benchmarks/run_benchmarks.py +123 -0
- cognitive_discovery_platform-0.5.0/dashboard/app.py +143 -0
- cognitive_discovery_platform-0.5.0/docs/CASE_STUDY_HUBBLE.md +80 -0
- cognitive_discovery_platform-0.5.0/docs/CASE_STUDY_QUANTUM_ML.md +78 -0
- cognitive_discovery_platform-0.5.0/docs/api-reference.md +198 -0
- cognitive_discovery_platform-0.5.0/docs/benchmarks.md +22 -0
- cognitive_discovery_platform-0.5.0/docs/getting-started.md +137 -0
- cognitive_discovery_platform-0.5.0/docs/research-workflows.md +78 -0
- cognitive_discovery_platform-0.5.0/examples/fft2_demo.py +29 -0
- cognitive_discovery_platform-0.5.0/examples/hypothesis_custom_generator.py +121 -0
- cognitive_discovery_platform-0.5.0/examples/hypothesis_demo.py +37 -0
- cognitive_discovery_platform-0.5.0/examples/hypothesis_tests_demo.py +48 -0
- cognitive_discovery_platform-0.5.0/examples/hypothesis_with_stats_demo.py +34 -0
- cognitive_discovery_platform-0.5.0/examples/linalg_demo.py +53 -0
- cognitive_discovery_platform-0.5.0/examples/ml_and_viz_demo.py +51 -0
- cognitive_discovery_platform-0.5.0/examples/optimization_demo.py +26 -0
- cognitive_discovery_platform-0.5.0/examples/quantum_demo.py +34 -0
- cognitive_discovery_platform-0.5.0/examples/signals_demo.py +37 -0
- cognitive_discovery_platform-0.5.0/examples/stats_demo.py +32 -0
- cognitive_discovery_platform-0.5.0/pyproject.toml +76 -0
- cognitive_discovery_platform-0.5.0/setup_repo.sh +60 -0
- cognitive_discovery_platform-0.5.0/snippet_0.py +8 -0
- cognitive_discovery_platform-0.5.0/snippet_1.py +14 -0
- cognitive_discovery_platform-0.5.0/snippet_2.py +9 -0
- cognitive_discovery_platform-0.5.0/snippet_3.py +9 -0
- cognitive_discovery_platform-0.5.0/snippet_4.py +10 -0
- cognitive_discovery_platform-0.5.0/snippet_5.py +9 -0
- cognitive_discovery_platform-0.5.0/snippet_6.py +5 -0
- cognitive_discovery_platform-0.5.0/snippet_7.py +13 -0
- cognitive_discovery_platform-0.5.0/snippet_8.py +8 -0
- cognitive_discovery_platform-0.5.0/snippet_9.py +12 -0
- cognitive_discovery_platform-0.5.0/src/cds/__init__.py +36 -0
- cognitive_discovery_platform-0.5.0/src/cds/__main__.py +6 -0
- cognitive_discovery_platform-0.5.0/src/cds/cli.py +333 -0
- cognitive_discovery_platform-0.5.0/src/cds/core/__init__.py +4 -0
- cognitive_discovery_platform-0.5.0/src/cds/core/models.py +69 -0
- cognitive_discovery_platform-0.5.0/src/cds/data_analysis/__init__.py +16 -0
- cognitive_discovery_platform-0.5.0/src/cds/data_analysis/dataset.py +106 -0
- cognitive_discovery_platform-0.5.0/src/cds/data_analysis/loader.py +60 -0
- cognitive_discovery_platform-0.5.0/src/cds/data_analysis/transform.py +33 -0
- cognitive_discovery_platform-0.5.0/src/cds/data_analysis/viz.py +90 -0
- cognitive_discovery_platform-0.5.0/src/cds/diffeq/__init__.py +18 -0
- cognitive_discovery_platform-0.5.0/src/cds/diffeq/solvers.py +265 -0
- cognitive_discovery_platform-0.5.0/src/cds/graph/__init__.py +20 -0
- cognitive_discovery_platform-0.5.0/src/cds/graph/algorithms.py +240 -0
- cognitive_discovery_platform-0.5.0/src/cds/hypothesis/__init__.py +43 -0
- cognitive_discovery_platform-0.5.0/src/cds/hypothesis/evaluator.py +83 -0
- cognitive_discovery_platform-0.5.0/src/cds/hypothesis/generator.py +180 -0
- cognitive_discovery_platform-0.5.0/src/cds/knowledge/__init__.py +1 -0
- cognitive_discovery_platform-0.5.0/src/cds/math_utils/__init__.py +24 -0
- cognitive_discovery_platform-0.5.0/src/cds/math_utils/calculus.py +36 -0
- cognitive_discovery_platform-0.5.0/src/cds/math_utils/linalg.py +371 -0
- cognitive_discovery_platform-0.5.0/src/cds/ml/__init__.py +4 -0
- cognitive_discovery_platform-0.5.0/src/cds/ml/neural.py +107 -0
- cognitive_discovery_platform-0.5.0/src/cds/montecarlo/__init__.py +16 -0
- cognitive_discovery_platform-0.5.0/src/cds/montecarlo/methods.py +205 -0
- cognitive_discovery_platform-0.5.0/src/cds/optimization/__init__.py +11 -0
- cognitive_discovery_platform-0.5.0/src/cds/optimization/minimize.py +220 -0
- cognitive_discovery_platform-0.5.0/src/cds/probability/__init__.py +14 -0
- cognitive_discovery_platform-0.5.0/src/cds/probability/distributions.py +116 -0
- cognitive_discovery_platform-0.5.0/src/cds/quantum/__init__.py +48 -0
- cognitive_discovery_platform-0.5.0/src/cds/quantum/circuit.py +73 -0
- cognitive_discovery_platform-0.5.0/src/cds/quantum/multi_qubit.py +237 -0
- cognitive_discovery_platform-0.5.0/src/cds/quantum/simulator.py +38 -0
- cognitive_discovery_platform-0.5.0/src/cds/scientific/__init__.py +13 -0
- cognitive_discovery_platform-0.5.0/src/cds/scientific/constants.py +26 -0
- cognitive_discovery_platform-0.5.0/src/cds/scientific/formulas.py +63 -0
- cognitive_discovery_platform-0.5.0/src/cds/signals/__init__.py +16 -0
- cognitive_discovery_platform-0.5.0/src/cds/signals/processing.py +185 -0
- cognitive_discovery_platform-0.5.0/src/cds/stats/__init__.py +22 -0
- cognitive_discovery_platform-0.5.0/src/cds/stats/descriptive.py +49 -0
- cognitive_discovery_platform-0.5.0/src/cds/stats/hypothesis_tests.py +388 -0
- cognitive_discovery_platform-0.5.0/src/cds/stats/regression.py +38 -0
- cognitive_discovery_platform-0.5.0/tests/__init__.py +0 -0
- cognitive_discovery_platform-0.5.0/tests/test_cli.py +40 -0
- cognitive_discovery_platform-0.5.0/tests/test_cli_extended.py +96 -0
- cognitive_discovery_platform-0.5.0/tests/test_data_analysis.py +140 -0
- cognitive_discovery_platform-0.5.0/tests/test_dataset.py +82 -0
- cognitive_discovery_platform-0.5.0/tests/test_diffeq.py +103 -0
- cognitive_discovery_platform-0.5.0/tests/test_fft2.py +69 -0
- cognitive_discovery_platform-0.5.0/tests/test_graph.py +153 -0
- cognitive_discovery_platform-0.5.0/tests/test_hypothesis.py +93 -0
- cognitive_discovery_platform-0.5.0/tests/test_hypothesis_engine.py +67 -0
- cognitive_discovery_platform-0.5.0/tests/test_hypothesis_tests.py +139 -0
- cognitive_discovery_platform-0.5.0/tests/test_linalg_extended.py +142 -0
- cognitive_discovery_platform-0.5.0/tests/test_linalg_qr_cholesky.py +70 -0
- cognitive_discovery_platform-0.5.0/tests/test_math_utils.py +128 -0
- cognitive_discovery_platform-0.5.0/tests/test_ml_viz.py +55 -0
- cognitive_discovery_platform-0.5.0/tests/test_montecarlo.py +100 -0
- cognitive_discovery_platform-0.5.0/tests/test_multi_qubit.py +311 -0
- cognitive_discovery_platform-0.5.0/tests/test_optimization.py +117 -0
- cognitive_discovery_platform-0.5.0/tests/test_probability.py +162 -0
- cognitive_discovery_platform-0.5.0/tests/test_quantum.py +121 -0
- cognitive_discovery_platform-0.5.0/tests/test_scientific.py +131 -0
- cognitive_discovery_platform-0.5.0/tests/test_signals.py +143 -0
- cognitive_discovery_platform-0.5.0/tests/test_stats.py +127 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report something that's broken
|
|
4
|
+
title: "[Bug] "
|
|
5
|
+
labels: bug
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**What happened?**
|
|
9
|
+
|
|
10
|
+
**What did you expect?**
|
|
11
|
+
|
|
12
|
+
**Steps to reproduce:**
|
|
13
|
+
1. ...
|
|
14
|
+
|
|
15
|
+
**Environment:**
|
|
16
|
+
- OS:
|
|
17
|
+
- Python version:
|
|
18
|
+
- CDS version:
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: "github-actions"
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: "weekly"
|
|
7
|
+
labels:
|
|
8
|
+
- "dependencies"
|
|
9
|
+
- "github-actions"
|
|
10
|
+
commit-message-prefix: "ci"
|
|
11
|
+
- package-ecosystem: "pip"
|
|
12
|
+
directory: "/"
|
|
13
|
+
schedule:
|
|
14
|
+
interval: "weekly"
|
|
15
|
+
labels:
|
|
16
|
+
- "dependencies"
|
|
17
|
+
- "python"
|
|
18
|
+
commit-message-prefix: "deps"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Labeler config for auto-labeling PRs based on paths
|
|
2
|
+
# See https://github.com/actions/labeler
|
|
3
|
+
|
|
4
|
+
ci:
|
|
5
|
+
- .github/workflows/**
|
|
6
|
+
|
|
7
|
+
docs:
|
|
8
|
+
- docs/**
|
|
9
|
+
- README.md
|
|
10
|
+
- CONTRIBUTING.md
|
|
11
|
+
- CHANGELOG.md
|
|
12
|
+
- examples/**
|
|
13
|
+
|
|
14
|
+
cli:
|
|
15
|
+
- src/cds/cli.py
|
|
16
|
+
- tests/test_cli.py
|
|
17
|
+
|
|
18
|
+
hypothesis:
|
|
19
|
+
- src/cds/hypothesis/**
|
|
20
|
+
- examples/hypothesis*.py
|
|
21
|
+
- tests/test_hypothesis*.py
|
|
22
|
+
|
|
23
|
+
core:
|
|
24
|
+
- src/cds/core/**
|
|
25
|
+
- src/cds/__init__.py
|
|
26
|
+
|
|
27
|
+
tests:
|
|
28
|
+
- tests/**
|
|
29
|
+
- pytest.ini
|
|
30
|
+
- pyproject.toml
|
|
31
|
+
|
|
32
|
+
dependencies:
|
|
33
|
+
- pyproject.toml
|
|
34
|
+
- setup_repo.sh
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Dependabot Auto Merge
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
auto-merge:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
if: ${{ github.actor == 'dependabot[bot]' }}
|
|
11
|
+
steps:
|
|
12
|
+
- name: Enable auto-merge for Dependabot PRs
|
|
13
|
+
run: gh pr merge --auto --squash "$PR_URL"
|
|
14
|
+
env:
|
|
15
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
|
16
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: PR Automation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened, labeled]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
pr_number:
|
|
9
|
+
description: 'PR number to run automation for'
|
|
10
|
+
required: true
|
|
11
|
+
type: string
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
labeler:
|
|
15
|
+
if: github.event_name == 'pull_request'
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
pull-requests: write
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/labeler@v5
|
|
22
|
+
with:
|
|
23
|
+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
|
24
|
+
|
|
25
|
+
review-checklist:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
# Runs on label 'needs-review' or manual dispatch
|
|
28
|
+
if: |
|
|
29
|
+
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'needs-review')) ||
|
|
30
|
+
github.event_name == 'workflow_dispatch'
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/github-script@v7
|
|
33
|
+
with:
|
|
34
|
+
script: |
|
|
35
|
+
const { owner, repo } = context.repo;
|
|
36
|
+
let prNumber = context.issue ? context.issue.number : null;
|
|
37
|
+
|
|
38
|
+
if (context.eventName === 'workflow_dispatch') {
|
|
39
|
+
prNumber = parseInt('${{ inputs.pr_number }}');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (!prNumber) {
|
|
43
|
+
console.log('No PR number provided');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Avoid duplicate comments
|
|
48
|
+
const { data: comments } = await github.rest.issues.listComments({
|
|
49
|
+
owner, repo, issue_number: prNumber
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const hasChecklist = comments.some(c =>
|
|
53
|
+
c.body.includes('PR Review Checklist') && c.user.type === 'Bot'
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
if (hasChecklist) {
|
|
57
|
+
console.log('Review checklist comment already exists');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const checklist = `## PR Review Checklist
|
|
62
|
+
|
|
63
|
+
Maintainer quick checklist for this PR:
|
|
64
|
+
|
|
65
|
+
- [ ] Tests added or updated where needed
|
|
66
|
+
- [ ] Documentation updated (README, docstrings, examples)
|
|
67
|
+
- [ ] No unnecessary dependencies added
|
|
68
|
+
- [ ] Code follows project style (run ruff locally)
|
|
69
|
+
- [ ] CHANGELOG updated if user-facing
|
|
70
|
+
|
|
71
|
+
Feel free to ping the maintainer for review.`;
|
|
72
|
+
|
|
73
|
+
await github.rest.issues.createComment({
|
|
74
|
+
owner,
|
|
75
|
+
repo,
|
|
76
|
+
issue_number: prNumber,
|
|
77
|
+
body: checklist
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
console.log(`Posted review checklist for PR #${prNumber}`);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: PyPI Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build-n-publish:
|
|
13
|
+
name: Build and publish Python 🐍 distributions 📦 to PyPI
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
environment: pypi
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
id-token: write
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.10"
|
|
26
|
+
|
|
27
|
+
- name: Install pypa/build
|
|
28
|
+
run: python -m pip install build
|
|
29
|
+
|
|
30
|
+
- name: Build a binary wheel and a source tarball
|
|
31
|
+
run: python -m build
|
|
32
|
+
|
|
33
|
+
- name: Publish package distributions to PyPI
|
|
34
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, develop]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
python-version: ['3.10', '3.11', '3.12']
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
20
|
+
uses: actions/setup-python@v4
|
|
21
|
+
with:
|
|
22
|
+
python-version: ${{ matrix.python-version }}
|
|
23
|
+
cache: 'pip'
|
|
24
|
+
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: |
|
|
27
|
+
python -m pip install --upgrade pip
|
|
28
|
+
pip install -e ".[dev]"
|
|
29
|
+
|
|
30
|
+
- name: Lint with ruff
|
|
31
|
+
run: ruff check .
|
|
32
|
+
|
|
33
|
+
- name: Run tests
|
|
34
|
+
run: pytest tests/ -v --tb=short
|
|
35
|
+
|
|
36
|
+
- name: Generate coverage report
|
|
37
|
+
run: |
|
|
38
|
+
pip install pytest-cov
|
|
39
|
+
pytest tests/ --cov=src/cds --cov-report=xml --cov-report=term
|
|
40
|
+
|
|
41
|
+
- name: Upload coverage to Codecov
|
|
42
|
+
uses: codecov/codecov-action@v3
|
|
43
|
+
with:
|
|
44
|
+
files: ./coverage.xml
|
|
45
|
+
fail_ci_if_error: false
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
*.manifest
|
|
31
|
+
*.spec
|
|
32
|
+
|
|
33
|
+
# Installer logs
|
|
34
|
+
pip-log.txt
|
|
35
|
+
pip-delete-this-directory.txt
|
|
36
|
+
|
|
37
|
+
# Unit test / coverage reports
|
|
38
|
+
htmlcov/
|
|
39
|
+
.tox/
|
|
40
|
+
.nox/
|
|
41
|
+
.coverage
|
|
42
|
+
.coverage.*
|
|
43
|
+
.cache
|
|
44
|
+
nosetests.xml
|
|
45
|
+
coverage.xml
|
|
46
|
+
*.cover
|
|
47
|
+
*.py,cover
|
|
48
|
+
.hypothesis/
|
|
49
|
+
.pytest_cache/
|
|
50
|
+
cover/
|
|
51
|
+
|
|
52
|
+
# Translations
|
|
53
|
+
*.mo
|
|
54
|
+
*.pot
|
|
55
|
+
|
|
56
|
+
# Django stuff
|
|
57
|
+
*.log
|
|
58
|
+
local_settings.py
|
|
59
|
+
db.sqlite3
|
|
60
|
+
db.sqlite3-journal
|
|
61
|
+
|
|
62
|
+
# Flask stuff
|
|
63
|
+
instance/
|
|
64
|
+
.webassets-cache
|
|
65
|
+
|
|
66
|
+
# Scrapy stuff
|
|
67
|
+
.scrapy
|
|
68
|
+
|
|
69
|
+
# Sphinx documentation
|
|
70
|
+
docs/_build/
|
|
71
|
+
|
|
72
|
+
# PyBuilder
|
|
73
|
+
.pybuilder/
|
|
74
|
+
target/
|
|
75
|
+
|
|
76
|
+
# Jupyter Notebook
|
|
77
|
+
.ipynb_checkpoints
|
|
78
|
+
|
|
79
|
+
# IPython
|
|
80
|
+
profile_default/
|
|
81
|
+
ipython_config.py
|
|
82
|
+
|
|
83
|
+
# pyenv
|
|
84
|
+
.python-version
|
|
85
|
+
|
|
86
|
+
# pipenv
|
|
87
|
+
Pipfile.lock
|
|
88
|
+
|
|
89
|
+
# poetry
|
|
90
|
+
poetry.lock
|
|
91
|
+
|
|
92
|
+
# pdm
|
|
93
|
+
.pdm.toml
|
|
94
|
+
.pdm-python
|
|
95
|
+
.pdm-build/
|
|
96
|
+
|
|
97
|
+
# PEP 582
|
|
98
|
+
__pypackages__/
|
|
99
|
+
|
|
100
|
+
# Celery stuff
|
|
101
|
+
celerybeat-schedule
|
|
102
|
+
celerybeat.pid
|
|
103
|
+
|
|
104
|
+
# SageMath parsed files
|
|
105
|
+
*.sage.py
|
|
106
|
+
|
|
107
|
+
# Environments
|
|
108
|
+
.env
|
|
109
|
+
.venv
|
|
110
|
+
env/
|
|
111
|
+
venv/
|
|
112
|
+
ENV/
|
|
113
|
+
env.bak/
|
|
114
|
+
venv.bak/
|
|
115
|
+
|
|
116
|
+
# Spyder project settings
|
|
117
|
+
.spyderproject
|
|
118
|
+
.spyproject
|
|
119
|
+
|
|
120
|
+
# Rope project settings
|
|
121
|
+
.ropeproject
|
|
122
|
+
|
|
123
|
+
# mkdocs documentation
|
|
124
|
+
/site
|
|
125
|
+
|
|
126
|
+
# mypy
|
|
127
|
+
.mypy_cache/
|
|
128
|
+
.dmypy.json
|
|
129
|
+
dmypy.json
|
|
130
|
+
|
|
131
|
+
# Pyre type checker
|
|
132
|
+
.pyre/
|
|
133
|
+
|
|
134
|
+
# pytype static type analyzer
|
|
135
|
+
.pytype/
|
|
136
|
+
|
|
137
|
+
# Cython debug symbols
|
|
138
|
+
cython_debug/
|
|
139
|
+
|
|
140
|
+
# IDEs
|
|
141
|
+
.idea/
|
|
142
|
+
.vscode/
|
|
143
|
+
*.swp
|
|
144
|
+
*.swo
|
|
145
|
+
*~
|
|
146
|
+
|
|
147
|
+
# OS
|
|
148
|
+
.DS_Store
|
|
149
|
+
Thumbs.db
|
|
150
|
+
|
|
151
|
+
# Project specific
|
|
152
|
+
*.tmp
|
|
153
|
+
*.bak
|
|
154
|
+
results/
|
|
155
|
+
outputs/
|
|
156
|
+
chains_*/
|
|
157
|
+
data/real/
|
|
158
|
+
data/external/
|
|
159
|
+
*.zip
|
|
160
|
+
*.tar.gz
|
|
161
|
+
*.tgz
|
|
162
|
+
|
|
163
|
+
# CDS specific (future)
|
|
164
|
+
.cds/
|
|
165
|
+
*.hypo.json
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
-
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
-
|
|
12
|
+
|
|
13
|
+
## [0.3.0] - 2026-06-13
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- `docs/research-workflows.md` — guidance on using CDS in real research and discovery pipelines: combining hypothesis generation with stats/optimization/Monte Carlo, implementing custom `HypothesisGenerator` implementations, and embedding modules in larger scripts.
|
|
17
|
+
- `CITATION.cff` at repository root for standard academic citation of the toolkit in research papers and pipelines.
|
|
18
|
+
- `examples/hypothesis_custom_generator.py` — a small runnable demonstration of supplying a custom implementation of the HypothesisGenerator Protocol for a toy domain.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- All references to the test suite updated from approximate "300+" to the exact **314 tests** (README badge and text, docs/getting-started.md, docs/benchmarks.md, CONTRIBUTING.md, CHANGELOG, src/cds/cli.py status panel).
|
|
22
|
+
- `docs/benchmarks.md` refreshed with fresh micro-benchmark timings (hypothesis generation ~0.1 ms for n=3, stats operations, quantum primitives, optimization).
|
|
23
|
+
- Cleaned Codecov placeholder comment from README (badge remains; live data requires connecting the repo on codecov.io).
|
|
24
|
+
- Version bumped to 0.3.0 (pyproject.toml, src/cds/__init__.py, README alpha notice, CLI info/status).
|
|
25
|
+
- Cross-references to the new research workflows documentation added throughout README, getting-started, and CONTRIBUTING.
|
|
26
|
+
- GitHub repository description and topics updated via gh for better visibility (topics include pure-python, scientific-computing, hypothesis-generation, etc.).
|
|
27
|
+
|
|
28
|
+
## [0.2.0] - 2026-06-13
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- `cds hypothesis` command for quick demos of the hypothesis generation module.
|
|
32
|
+
- `examples/hypothesis_demo.py` runnable example for the cognitive/hypothesis features.
|
|
33
|
+
- GitHub community files: PR template, issue templates, CI workflow, FUNDING.yml, CODEOWNERS.
|
|
34
|
+
- Basic CLI smoke tests (`tests/test_cli.py`).
|
|
35
|
+
- **CLI**: New `cds modules` command that lists all available scientific modules in a clear table; improved `--version` / `-v` flag and help discoverability.
|
|
36
|
+
- **Public API**: Cleaner top-level package exports and documentation.
|
|
37
|
+
- **Hypothesis module**: Improved module and generator documentation for better clarity on providing custom generators.
|
|
38
|
+
- **Developer experience**: Replaced the placeholder setup script with a working one-command development setup (creates venv, installs the package, runs tests).
|
|
39
|
+
- **Documentation**: Added a short Vision section, expanded CONTRIBUTING.md with module/CLI/hypothesis guidance, and updated quick-start examples.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
- General improvements to documentation and usability.
|
|
43
|
+
- README now includes live CI badge and reference to the new hypothesis demo.
|
|
44
|
+
|
|
45
|
+
### Previous (from initial push)
|
|
46
|
+
- **2-D FFT** (`cds.signals`): `fft2` / `ifft2` via row-column decomposition (Cooley-Tukey 1965)
|
|
47
|
+
- **Hypothesis testing** (`cds.stats`): one-sample & two-sample t-tests (pooled / Welch),
|
|
48
|
+
chi-square goodness-of-fit and independence, one-way ANOVA, with exact distribution
|
|
49
|
+
tail functions (`t_sf`, `chi2_sf`, `f_sf`) built on regularized incomplete gamma/beta
|
|
50
|
+
functions (Student 1908, Pearson 1900, Fisher 1925; Numerical Recipes §6.1–6.4)
|
|
51
|
+
- **Linear algebra** (`cds.math_utils`): QR decomposition via Householder reflections
|
|
52
|
+
(Householder 1958) and Cholesky decomposition (Benoît/Cholesky 1924)
|
|
53
|
+
- New runnable demos: `examples/fft2_demo.py`, `examples/hypothesis_tests_demo.py`,
|
|
54
|
+
`examples/linalg_demo.py`
|
|
55
|
+
- Project logo/banner (`assets/logo.svg`)
|
|
56
|
+
- Test suite expanded to **314 tests** (see CI)
|
|
57
|
+
|
|
58
|
+
## [0.1.0] - 2026-06-09
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
- **Quantum computing** (`cds.quantum`)
|
|
62
|
+
- Single-qubit gates: Hadamard, Pauli-X/Y/Z, phase, Rz rotation
|
|
63
|
+
- Multi-qubit register with state vector simulation
|
|
64
|
+
- Two-qubit gates: CNOT, CZ, SWAP
|
|
65
|
+
- Three-qubit gate: Toffoli (CCNOT)
|
|
66
|
+
- Bell state and GHZ state preparation
|
|
67
|
+
- Entanglement detection via concurrence
|
|
68
|
+
- Measurement with shot-based sampling
|
|
69
|
+
- **Optimization** (`cds.optimization`)
|
|
70
|
+
- Gradient descent minimization
|
|
71
|
+
- Newton-Raphson root finding
|
|
72
|
+
- Adam optimizer (adaptive learning rate)
|
|
73
|
+
- Golden section line search
|
|
74
|
+
- **Signal processing** (`cds.signals`)
|
|
75
|
+
- Discrete Fourier Transform (DFT)
|
|
76
|
+
- Fast Fourier Transform (Cooley-Tukey radix-2)
|
|
77
|
+
- Linear convolution
|
|
78
|
+
- Power spectrum computation
|
|
79
|
+
- Frequency-domain low-pass filter
|
|
80
|
+
- **Probability** (`cds.probability`)
|
|
81
|
+
- Gaussian, uniform, exponential PDF
|
|
82
|
+
- Binomial and Poisson PMF
|
|
83
|
+
- Uniform random sampling
|
|
84
|
+
- **Statistics** (`cds.stats`)
|
|
85
|
+
- Mean, median, variance, standard deviation
|
|
86
|
+
- Pearson correlation coefficient
|
|
87
|
+
- Linear regression with R² and prediction
|
|
88
|
+
- **Numerical math** (`cds.math_utils`)
|
|
89
|
+
- Derivatives (central difference)
|
|
90
|
+
- Integrals (Simpson's rule)
|
|
91
|
+
- Gradient computation
|
|
92
|
+
- Matrix multiplication, transpose, determinant
|
|
93
|
+
- LU decomposition (Doolittle's method)
|
|
94
|
+
- Linear system solver (forward/back substitution)
|
|
95
|
+
- Matrix inverse
|
|
96
|
+
- Eigenvalue computation (power iteration — Von Mises 1929)
|
|
97
|
+
- Gram-Schmidt orthonormalization
|
|
98
|
+
- **Graph theory** (`cds.graph`)
|
|
99
|
+
- Breadth-first search (BFS)
|
|
100
|
+
- Depth-first search (DFS)
|
|
101
|
+
- Dijkstra's shortest path algorithm (1959)
|
|
102
|
+
- Kruskal's minimum spanning tree (1956)
|
|
103
|
+
- Topological sort (Kahn's algorithm)
|
|
104
|
+
- Cycle detection (DFS coloring)
|
|
105
|
+
- **Monte Carlo methods** (`cds.montecarlo`)
|
|
106
|
+
- π estimation (unit-circle method)
|
|
107
|
+
- Monte Carlo integration
|
|
108
|
+
- Buffon's needle experiment (1777)
|
|
109
|
+
- 1D and 2D random walks
|
|
110
|
+
- **Differential equations** (`cds.diffeq`)
|
|
111
|
+
- Euler's method (1768)
|
|
112
|
+
- Classical 4th-order Runge-Kutta (RK4)
|
|
113
|
+
- Explicit midpoint method (2nd-order RK)
|
|
114
|
+
- System solver for coupled ODEs
|
|
115
|
+
- **Data analysis** (`cds.data_analysis`)
|
|
116
|
+
- CSV file loader
|
|
117
|
+
- Normalization, z-score standardization
|
|
118
|
+
- Moving average
|
|
119
|
+
- **Scientific computing** (`cds.scientific`)
|
|
120
|
+
- Physical constants (c, G, h, k_B, N_A, R, etc.)
|
|
121
|
+
- Kinetic energy, gravitational force, wave frequency
|
|
122
|
+
- Ideal gas law, photon energy, Schwarzschild radius
|
|
123
|
+
- De Broglie wavelength, escape velocity
|
|
124
|
+
- **Hypothesis generation** (`cds.hypothesis`)
|
|
125
|
+
- prompt templates for hypothesis work
|
|
126
|
+
- Offline placeholder generator for demos
|
|
127
|
+
- **CLI** (`cds` command)
|
|
128
|
+
- `cds constants` — list physical constants
|
|
129
|
+
- `cds calc` — interactive physics calculator
|
|
130
|
+
- `cds hypothesize` — generate hypotheses
|
|
131
|
+
- Core data models (`cds.core.models`)
|
|
132
|
+
- 309 tests with pytest
|
|
133
|
+
- Example scripts in `examples/`
|
|
134
|
+
- API reference documentation (`docs/api-reference.md`)
|
|
135
|
+
- Performance benchmarks (`docs/benchmarks.md`)
|
|
136
|
+
- Contributing guidelines, Code of Conduct, Security policy
|
|
137
|
+
- Issue and PR templates
|
|
138
|
+
- Getting started documentation
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use this software, please cite it using the metadata from this file."
|
|
3
|
+
type: software
|
|
4
|
+
title: "Cognitive Discovery System"
|
|
5
|
+
version: 0.5.0
|
|
6
|
+
authors:
|
|
7
|
+
- name: "Furox88"
|
|
8
|
+
email: "furkanarkn1451@gmail.com"
|
|
9
|
+
abstract: "Pure Python computational science toolkit — quantum simulation, signal processing, statistics, optimization, hypothesis generation, and related numerical methods. All modules are implemented without heavy external dependencies."
|
|
10
|
+
license: MIT
|
|
11
|
+
repository-code: "https://github.com/Furox88/cognitive-discovery-system"
|
|
12
|
+
url: "https://github.com/Furox88/cognitive-discovery-system"
|
|
13
|
+
date-released: "2026-06-14"
|
|
14
|
+
keywords:
|
|
15
|
+
- "pure python"
|
|
16
|
+
- "scientific computing"
|
|
17
|
+
- "quantum simulation"
|
|
18
|
+
- "signal processing"
|
|
19
|
+
- "statistics"
|
|
20
|
+
- "hypothesis generation"
|
|
21
|
+
- "computational discovery"
|
|
22
|
+
preferred-citation:
|
|
23
|
+
type: software
|
|
24
|
+
title: "Cognitive Discovery System"
|
|
25
|
+
authors:
|
|
26
|
+
- name: "Furox88"
|
|
27
|
+
year: 2026
|
|
28
|
+
version: 0.3.0
|
|
29
|
+
url: "https://github.com/Furox88/cognitive-discovery-system"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
6
|
+
|
|
7
|
+
## Our Standards
|
|
8
|
+
|
|
9
|
+
**Positive behavior:**
|
|
10
|
+
- Being respectful and constructive
|
|
11
|
+
- Giving and accepting feedback gracefully
|
|
12
|
+
- Focusing on what's best for the project and community
|
|
13
|
+
|
|
14
|
+
**Unacceptable behavior:**
|
|
15
|
+
- Harassment, trolling, or personal attacks
|
|
16
|
+
- Publishing others' private information
|
|
17
|
+
- Any conduct that would be inappropriate in a professional setting
|
|
18
|
+
|
|
19
|
+
## Enforcement
|
|
20
|
+
|
|
21
|
+
Project maintainers may remove, edit, or reject contributions that don't align with this Code of Conduct. Instances of unacceptable behavior can be reported by opening an issue or contacting the maintainer directly.
|
|
22
|
+
|
|
23
|
+
## Attribution
|
|
24
|
+
|
|
25
|
+
Adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.
|