biocypher 0.10.1__tar.gz → 0.11.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.
Potentially problematic release.
This version of biocypher might be problematic. Click here for more details.
- biocypher-0.11.0/.bumpversion.cfg +10 -0
- biocypher-0.11.0/.github/ISSUE_TEMPLATE/1-add-biocypher-component.yaml +121 -0
- biocypher-0.11.0/.github/ISSUE_TEMPLATE/2-bug-report.yaml +121 -0
- biocypher-0.11.0/.github/ISSUE_TEMPLATE/3-documentation-improvement.yaml +57 -0
- biocypher-0.11.0/.github/ISSUE_TEMPLATE/4-feature-request.yaml +71 -0
- biocypher-0.11.0/.github/ISSUE_TEMPLATE/config.yaml +9 -0
- biocypher-0.11.0/.github/actions/build_docs/action.yaml +12 -0
- biocypher-0.11.0/.github/actions/install/action.yaml +30 -0
- biocypher-0.11.0/.github/actions/setup/action.yaml +21 -0
- biocypher-0.11.0/.github/actions/test/action.yaml +47 -0
- biocypher-0.11.0/.github/actions/test_coverage/action.yaml +24 -0
- biocypher-0.11.0/.github/workflows/docs_mkdocs.yaml +58 -0
- biocypher-0.11.0/.github/workflows/pr.yaml +49 -0
- biocypher-0.11.0/.github/workflows/publish.yaml +64 -0
- biocypher-0.11.0/.github/workflows/tests_and_code_quality.yaml +40 -0
- biocypher-0.11.0/.gitignore +38 -0
- biocypher-0.11.0/.pre-commit-config.yaml +36 -0
- biocypher-0.11.0/CITATION.cff +25 -0
- biocypher-0.11.0/CODE_OF_CONDUCT.md +124 -0
- biocypher-0.11.0/CONTRIBUTING.md +12 -0
- biocypher-0.11.0/DEVELOPER.md +113 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/PKG-INFO +22 -24
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/__init__.py +8 -0
- biocypher-0.11.0/biocypher/_graph.py +819 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_metadata.py +21 -8
- biocypher-0.11.0/biocypher/_workflow.py +798 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/_airr.py +1 -1
- biocypher-0.11.0/docs/api.rst +351 -0
- biocypher-0.11.0/docs/assets/css/css-v1.1.0.css +1507 -0
- biocypher-0.11.0/docs/assets/img/banner-biocypher.png +0 -0
- biocypher-0.11.0/docs/assets/img/biochatter-overview-biocypher.png +0 -0
- biocypher-0.11.0/docs/assets/img/biocypher-open-graph.png +0 -0
- biocypher-0.11.0/docs/assets/img/favicon-biocypher-32px.png +0 -0
- biocypher-0.11.0/docs/assets/img/gh-from-biocypher-template-1.png +0 -0
- biocypher-0.11.0/docs/assets/img/gh-from-biocypher-template-2.png +0 -0
- biocypher-0.11.0/docs/assets/img/gh-from-biocypher-template-3.png +0 -0
- biocypher-0.11.0/docs/assets/img/graphical-abstract-biocypher.png +0 -0
- biocypher-0.11.0/docs/assets/img/logo-biocypher.png +0 -0
- biocypher-0.11.0/docs/assets/img/modularity-biocypher.png +0 -0
- biocypher-0.11.0/docs/assets/img/outputs/DBMS-Terminal.png +0 -0
- biocypher-0.11.0/docs/assets/img/outputs/DBMS.png +0 -0
- biocypher-0.11.0/docs/assets/img/pipeline-biocypher.png +0 -0
- biocypher-0.11.0/docs/biocypher-project/biochatter-integration.md +20 -0
- biocypher-0.11.0/docs/biocypher-project/design-philosophy.md +68 -0
- biocypher-0.11.0/docs/biocypher-project/project.md +9 -0
- biocypher-0.11.0/docs/biocypher-project/r-bioc.md +11 -0
- biocypher-0.11.0/docs/biocypher-project/use-cases.md +80 -0
- biocypher-0.11.0/docs/community/biocypher-docstring-guide.md +995 -0
- biocypher-0.11.0/docs/community/contribute-codebase.md +354 -0
- biocypher-0.11.0/docs/community/contribute-docs.md +39 -0
- biocypher-0.11.0/docs/community/contribute.md +56 -0
- biocypher-0.11.0/docs/community/index.md +48 -0
- biocypher-0.11.0/docs/community/maintenance.md +404 -0
- biocypher-0.11.0/docs/community/release-notes.md +25 -0
- biocypher-0.11.0/docs/coverage/.gitkeep +0 -0
- biocypher-0.11.0/docs/index.md +37 -0
- biocypher-0.11.0/docs/installation.md +229 -0
- biocypher-0.11.0/docs/learn/explanation/about-documentation.md +16 -0
- biocypher-0.11.0/docs/learn/explanation/adapters.md +117 -0
- biocypher-0.11.0/docs/learn/explanation/architecture-migration.md +714 -0
- biocypher-0.11.0/docs/learn/explanation/basics-knowledge-graphs.md +7 -0
- biocypher-0.11.0/docs/learn/explanation/graph_class_guide.md +699 -0
- biocypher-0.11.0/docs/learn/explanation/index.md +19 -0
- biocypher-0.11.0/docs/learn/explanation/knowledge-graph-biocypher.md +0 -0
- biocypher-0.11.0/docs/learn/explanation/ontologies.md +496 -0
- biocypher-0.11.0/docs/learn/guides/htg001_standalone_docker_biocypher.md +77 -0
- biocypher-0.11.0/docs/learn/guides/index.md +19 -0
- biocypher-0.11.0/docs/learn/quickstart.md +325 -0
- biocypher-0.11.0/docs/learn/tutorials/agent_api_guide.md +652 -0
- biocypher-0.11.0/docs/learn/tutorials/pandas_tutorial.ipynb +2384 -0
- biocypher-0.11.0/docs/learn/tutorials/tutorial001_basics.md +541 -0
- biocypher-0.11.0/docs/learn/tutorials/tutorial002_handling_ontologies.md +501 -0
- biocypher-0.11.0/docs/learn/tutorials/tutorial003_adapters.md +212 -0
- biocypher-0.11.0/docs/llms-adapters.txt +161 -0
- biocypher-0.11.0/docs/llms-example-adapter.txt +293 -0
- biocypher-0.11.0/docs/llms.md +72 -0
- biocypher-0.11.0/docs/llms.txt +154 -0
- biocypher-0.11.0/docs/reference/biocypher-config.md +233 -0
- biocypher-0.11.0/docs/reference/index.md +45 -0
- biocypher-0.11.0/docs/reference/outputs/arangodb-output.md +4 -0
- biocypher-0.11.0/docs/reference/outputs/index.md +57 -0
- biocypher-0.11.0/docs/reference/outputs/neo4j-output.md +215 -0
- biocypher-0.11.0/docs/reference/outputs/networkx-output.md +71 -0
- biocypher-0.11.0/docs/reference/outputs/owl-output.md +338 -0
- biocypher-0.11.0/docs/reference/outputs/postgresql-output.md +89 -0
- biocypher-0.11.0/docs/reference/outputs/rdf-output.md +34 -0
- biocypher-0.11.0/docs/reference/outputs/sqlite-output.md +72 -0
- biocypher-0.11.0/docs/reference/outputs/tabular-output.md +76 -0
- biocypher-0.11.0/docs/reference/schema-config.md +160 -0
- biocypher-0.11.0/docs/reference/source/biocypher-workflow.md +522 -0
- biocypher-0.11.0/docs/reference/source/biocypher.md +1 -0
- biocypher-0.11.0/docs/reference/source/download-cache.md +15 -0
- biocypher-0.11.0/docs/reference/source/graph-class.md +611 -0
- biocypher-0.11.0/docs/reference/source/graph-handling.md +11 -0
- biocypher-0.11.0/docs/reference/source/index.md +128 -0
- biocypher-0.11.0/docs/reference/source/logging.md +1 -0
- biocypher-0.11.0/docs/reference/source/ontology.md +11 -0
- biocypher-0.11.0/docs/reference/source/output-driver.md +7 -0
- biocypher-0.11.0/docs/reference/source/output-in-memory.md +15 -0
- biocypher-0.11.0/docs/reference/source/output-write.md +29 -0
- biocypher-0.11.0/docs/reference/source/translation.md +1 -0
- biocypher-0.11.0/docs/reference/source/utils.md +8 -0
- biocypher-0.11.0/examples/agent_integration_example.py +404 -0
- biocypher-0.11.0/examples/unified_graph_example.py +435 -0
- biocypher-0.11.0/mkdocs.nav.yml +70 -0
- biocypher-0.11.0/mkdocs.yml +170 -0
- biocypher-0.11.0/paper.md +145 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/pyproject.toml +49 -51
- biocypher-0.11.0/test/__init__.py +0 -0
- biocypher-0.11.0/test/conftest.py +83 -0
- biocypher-0.11.0/test/fixtures/__init__.py +0 -0
- biocypher-0.11.0/test/fixtures/arangodb.py +21 -0
- biocypher-0.11.0/test/fixtures/core.py +55 -0
- biocypher-0.11.0/test/fixtures/csv.py +15 -0
- biocypher-0.11.0/test/fixtures/data_generator.py +333 -0
- biocypher-0.11.0/test/fixtures/in_memory_kg.py +32 -0
- biocypher-0.11.0/test/fixtures/neo4j.py +149 -0
- biocypher-0.11.0/test/fixtures/networkx_writer.py +14 -0
- biocypher-0.11.0/test/fixtures/ontology.py +93 -0
- biocypher-0.11.0/test/fixtures/owl.py +41 -0
- biocypher-0.11.0/test/fixtures/postgres.py +117 -0
- biocypher-0.11.0/test/fixtures/rdf.py +40 -0
- biocypher-0.11.0/test/fixtures/sqlite.py +36 -0
- biocypher-0.11.0/test/ontologies/go.owl +788 -0
- biocypher-0.11.0/test/ontologies/missing_label.ttl +15 -0
- biocypher-0.11.0/test/ontologies/mondo.owl +1185 -0
- biocypher-0.11.0/test/ontologies/multiple_parent_nodes.owl +63 -0
- biocypher-0.11.0/test/ontologies/multiple_parent_nodes.ttl +49 -0
- biocypher-0.11.0/test/ontologies/ontology1.ttl +41 -0
- biocypher-0.11.0/test/ontologies/ontology2.ttl +33 -0
- biocypher-0.11.0/test/ontologies/reverse_labels.ttl +17 -0
- biocypher-0.11.0/test/ontologies/sem.file +374 -0
- biocypher-0.11.0/test/ontologies/so.owl +201 -0
- biocypher-0.11.0/test/output/__init__.py +0 -0
- biocypher-0.11.0/test/output/connect/__init__.py +0 -0
- biocypher-0.11.0/test/output/connect/test_driver.py +326 -0
- biocypher-0.11.0/test/output/in_memory/__init__.py +0 -0
- biocypher-0.11.0/test/output/in_memory/test_airr.py +406 -0
- biocypher-0.11.0/test/output/in_memory/test_networkx.py +358 -0
- biocypher-0.11.0/test/output/in_memory/test_pandas.py +76 -0
- biocypher-0.11.0/test/output/write/__init__.py +0 -0
- biocypher-0.11.0/test/output/write/graph/__init__.py +0 -0
- biocypher-0.11.0/test/output/write/graph/test_arango.py +101 -0
- biocypher-0.11.0/test/output/write/graph/test_neo4j.py +1110 -0
- biocypher-0.11.0/test/output/write/graph/test_networkx.py +87 -0
- biocypher-0.11.0/test/output/write/graph/test_owl.py +235 -0
- biocypher-0.11.0/test/output/write/graph/test_rdf.py +208 -0
- biocypher-0.11.0/test/output/write/relational/__init__.py +0 -0
- biocypher-0.11.0/test/output/write/relational/test_csv.py +94 -0
- biocypher-0.11.0/test/output/write/relational/test_postgres.py +361 -0
- biocypher-0.11.0/test/output/write/relational/test_sqlite.py +79 -0
- biocypher-0.11.0/test/profile_performance.py +267 -0
- biocypher-0.11.0/test/rdflib_playground.py +104 -0
- biocypher-0.11.0/test/test_CSVs.zip +0 -0
- biocypher-0.11.0/test/test_config.py +14 -0
- biocypher-0.11.0/test/test_core.py +142 -0
- biocypher-0.11.0/test/test_create.py +40 -0
- biocypher-0.11.0/test/test_deduplicate.py +112 -0
- biocypher-0.11.0/test/test_get.py +412 -0
- biocypher-0.11.0/test/test_graph.py +663 -0
- biocypher-0.11.0/test/test_integration.py +95 -0
- biocypher-0.11.0/test/test_mapping.py +21 -0
- biocypher-0.11.0/test/test_misc.py +91 -0
- biocypher-0.11.0/test/test_ontology.py +356 -0
- biocypher-0.11.0/test/test_translate.py +578 -0
- biocypher-0.11.0/test/test_workflow.py +1062 -0
- biocypher-0.11.0/tutorial/01__basic_import.py +31 -0
- biocypher-0.11.0/tutorial/01_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/01_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/01_schema_config.yaml +4 -0
- biocypher-0.11.0/tutorial/02__merge.py +38 -0
- biocypher-0.11.0/tutorial/02_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/02_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/02_schema_config.yaml +4 -0
- biocypher-0.11.0/tutorial/03__implicit_subclass.py +38 -0
- biocypher-0.11.0/tutorial/03_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/03_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/03_schema_config.yaml +4 -0
- biocypher-0.11.0/tutorial/04__properties.py +38 -0
- biocypher-0.11.0/tutorial/04_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/04_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/04_schema_config.yaml +9 -0
- biocypher-0.11.0/tutorial/05__property_inheritance.py +43 -0
- biocypher-0.11.0/tutorial/05_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/05_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/05_schema_config.yaml +16 -0
- biocypher-0.11.0/tutorial/06__relationships.py +65 -0
- biocypher-0.11.0/tutorial/06_biocypher_config.yaml +5 -0
- biocypher-0.11.0/tutorial/06_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/06_schema_config.yaml +25 -0
- biocypher-0.11.0/tutorial/06_schema_config_pandas.yaml +25 -0
- biocypher-0.11.0/tutorial/07__synonyms.py +67 -0
- biocypher-0.11.0/tutorial/07_biocypher_config.yaml +6 -0
- biocypher-0.11.0/tutorial/07_biocypher_config_pandas.yaml +3 -0
- biocypher-0.11.0/tutorial/07_schema_config.yaml +31 -0
- biocypher-0.11.0/tutorial/data_generator.py +293 -0
- biocypher-0.11.0/uv.lock +4029 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/LICENSE +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/README.md +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/biocypher_config.yaml +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/test_config.yaml +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/test_schema_config.yaml +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/test_schema_config_disconnected.yaml +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_config/test_schema_config_extended.yaml +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_core.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_create.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_deduplicate.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_get.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_logger.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_mapping.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_misc.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_ontology.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/_translate.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/connect/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/connect/_get_connector.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/connect/_neo4j_driver.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/_get_in_memory_kg.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/_in_memory_kg.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/_networkx.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/in_memory/_pandas.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/_batch_writer.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/_get_writer.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/_writer.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_airr.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_arangodb.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_neo4j.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_networkx.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_owl.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/graph/_rdf.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/relational/__init__.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/relational/_csv.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/relational/_postgresql.py +0 -0
- {biocypher-0.10.1 → biocypher-0.11.0}/biocypher/output/write/relational/_sqlite.py +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
name: 🏗️ Add New Component
|
|
2
|
+
description: Add a new BioCypher component (input, output, ontology, pipeline) to the overview board.
|
|
3
|
+
|
|
4
|
+
title: "[Component Name]"
|
|
5
|
+
projects: ["biocypher/3"]
|
|
6
|
+
|
|
7
|
+
body:
|
|
8
|
+
- type: markdown
|
|
9
|
+
attributes:
|
|
10
|
+
value: |
|
|
11
|
+
Thanks for taking the time to add a new component to our board!
|
|
12
|
+
|
|
13
|
+
#---------------- Component type for BioCypher --------------
|
|
14
|
+
- type: dropdown
|
|
15
|
+
id: type
|
|
16
|
+
attributes:
|
|
17
|
+
label: What is the type of your adapter?
|
|
18
|
+
multiple: false
|
|
19
|
+
description: Can be any of input, output, ontology, or pipeline.
|
|
20
|
+
options:
|
|
21
|
+
- Input
|
|
22
|
+
- Output
|
|
23
|
+
- Ontology
|
|
24
|
+
- Pipeline
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
#---------------- Adapter Granularity --------------
|
|
29
|
+
- type: dropdown
|
|
30
|
+
id: granularity
|
|
31
|
+
attributes:
|
|
32
|
+
label: Adapter Granularity
|
|
33
|
+
multiple: false
|
|
34
|
+
description: Does your adapter connect to one single original resource (primary), or is the resource already a composite of multiple original resources (secondary)?
|
|
35
|
+
options:
|
|
36
|
+
- Primary
|
|
37
|
+
- Secondary
|
|
38
|
+
- NA (e.g., Pipeline)
|
|
39
|
+
validations:
|
|
40
|
+
required: true
|
|
41
|
+
|
|
42
|
+
#---------------- Adapter Format --------------
|
|
43
|
+
- type: dropdown
|
|
44
|
+
id: format
|
|
45
|
+
attributes:
|
|
46
|
+
label: Adapter Format
|
|
47
|
+
description: Which format does the adapter ingest or output?
|
|
48
|
+
multiple: false
|
|
49
|
+
options:
|
|
50
|
+
- ArangoDB
|
|
51
|
+
- Flat file(s) such as CSV
|
|
52
|
+
- Neo4j
|
|
53
|
+
- OWL
|
|
54
|
+
- Parquet
|
|
55
|
+
- Python (objects)
|
|
56
|
+
- RDF
|
|
57
|
+
- SQL
|
|
58
|
+
- Some API
|
|
59
|
+
- NA
|
|
60
|
+
- Other (state below)
|
|
61
|
+
validations:
|
|
62
|
+
required: true
|
|
63
|
+
|
|
64
|
+
#---------------- Adapter Resource Origin --------------
|
|
65
|
+
- type: textarea
|
|
66
|
+
id: resource-url
|
|
67
|
+
attributes:
|
|
68
|
+
label: Resource URL
|
|
69
|
+
description: Under which URL can the primary resource be found (could be a homepage, GitHub repository, docs, FTP folder, etc)?
|
|
70
|
+
render: shell
|
|
71
|
+
validations:
|
|
72
|
+
required: true
|
|
73
|
+
|
|
74
|
+
#---------------- Adapter Repository Description --------------
|
|
75
|
+
- type: textarea
|
|
76
|
+
id: adapter-url
|
|
77
|
+
attributes:
|
|
78
|
+
label: Adapter URL
|
|
79
|
+
description: Where can the adapter code be found?
|
|
80
|
+
render: shell
|
|
81
|
+
validations:
|
|
82
|
+
required: true
|
|
83
|
+
|
|
84
|
+
#---------------- Adapter Repository Description --------------
|
|
85
|
+
- type: dropdown
|
|
86
|
+
id: adapter-type
|
|
87
|
+
attributes:
|
|
88
|
+
label: Adapter Type
|
|
89
|
+
description: Is the resource a database or an ontology?
|
|
90
|
+
options:
|
|
91
|
+
- Database
|
|
92
|
+
- Ontology
|
|
93
|
+
- NA (e.g., Pipeline)
|
|
94
|
+
validations:
|
|
95
|
+
required: true
|
|
96
|
+
|
|
97
|
+
#---------------- Adapter Data Description --------------
|
|
98
|
+
- type: textarea
|
|
99
|
+
id: data-type
|
|
100
|
+
attributes:
|
|
101
|
+
label: Data Type
|
|
102
|
+
description: What kind of data is subject of the adapter? Can be a single category (Proteomics, Genetics, etc) in the case of primary adapters, or "Mixed" in some secondary adapters.
|
|
103
|
+
render: shell
|
|
104
|
+
validations:
|
|
105
|
+
required: true
|
|
106
|
+
|
|
107
|
+
#-------------- Code of Conduct --------------
|
|
108
|
+
- type: checkboxes
|
|
109
|
+
id: terms
|
|
110
|
+
attributes:
|
|
111
|
+
label: Code of Conduct
|
|
112
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/biocypher/biocypher/blob/main/CODE_OF_CONDUCT.md).
|
|
113
|
+
options:
|
|
114
|
+
- label: I agree to follow this project's Code of Conduct
|
|
115
|
+
required: true
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
- type: markdown
|
|
119
|
+
attributes:
|
|
120
|
+
value: >
|
|
121
|
+
Thank you for your contribution! 🎉 – The BioCypher Team
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
name: 🪳 Bug Report
|
|
2
|
+
description: Create a report to help us reproduce and fix the bug
|
|
3
|
+
|
|
4
|
+
title: "[BUG]: "
|
|
5
|
+
labels:
|
|
6
|
+
- "bug"
|
|
7
|
+
- "triage"
|
|
8
|
+
|
|
9
|
+
body:
|
|
10
|
+
- type: markdown
|
|
11
|
+
attributes:
|
|
12
|
+
value: >
|
|
13
|
+
**Before submitting a bug, please make sure the issue hasn't been already addressed by [searching through](https://github.com/biocypher/biocypher/issues).**
|
|
14
|
+
Please write your bug report in English to ensure it can be understood and addressed by the development team.
|
|
15
|
+
|
|
16
|
+
#---------------- Installed From --------------
|
|
17
|
+
- type: dropdown
|
|
18
|
+
id: source
|
|
19
|
+
attributes:
|
|
20
|
+
label: Source
|
|
21
|
+
description: BioCypher has been installed from
|
|
22
|
+
options:
|
|
23
|
+
- conda
|
|
24
|
+
- pip
|
|
25
|
+
- uv
|
|
26
|
+
- poetry
|
|
27
|
+
- other (specify in text)
|
|
28
|
+
validations:
|
|
29
|
+
required: True
|
|
30
|
+
|
|
31
|
+
- type: input
|
|
32
|
+
id: source-other
|
|
33
|
+
attributes:
|
|
34
|
+
label: other source
|
|
35
|
+
placeholder: e.g., from source
|
|
36
|
+
|
|
37
|
+
#-------------- Python version --------------
|
|
38
|
+
- type: input
|
|
39
|
+
id: Python
|
|
40
|
+
attributes:
|
|
41
|
+
label: Python version
|
|
42
|
+
placeholder: e.g., 3.10
|
|
43
|
+
validations:
|
|
44
|
+
required: true
|
|
45
|
+
|
|
46
|
+
#-------------- BioCypher version --------------
|
|
47
|
+
- type: input
|
|
48
|
+
id: biocypher-version
|
|
49
|
+
attributes:
|
|
50
|
+
label: BioCypher version
|
|
51
|
+
placeholder: e.g., biocypher v0.9.1
|
|
52
|
+
validations:
|
|
53
|
+
required: true
|
|
54
|
+
|
|
55
|
+
#-------------- OS Platform and distribution --------------
|
|
56
|
+
- type: input
|
|
57
|
+
id: OS
|
|
58
|
+
attributes:
|
|
59
|
+
label: OS platform and distribution
|
|
60
|
+
placeholder: e.g., Linux Ubuntu 16.04
|
|
61
|
+
|
|
62
|
+
#-------------- Describe the Bug --------------
|
|
63
|
+
- type: textarea
|
|
64
|
+
attributes:
|
|
65
|
+
label: Describe the bug
|
|
66
|
+
description: |
|
|
67
|
+
Please provide a clear and concise description of the bug.
|
|
68
|
+
|
|
69
|
+
If applicable, include a minimal example that allows us to reproduce the error by running the code.
|
|
70
|
+
It's crucial that the snippet is as short and focused as possible, so please remove any unnecessary code
|
|
71
|
+
to help us debug efficiently. We will copy and paste your code, and we expect to see the same result as you did.
|
|
72
|
+
Avoid using external data and make sure to include all relevant imports, etc. For example:
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
# All necessary imports at the beginning
|
|
76
|
+
from biocypher import BioCypher
|
|
77
|
+
|
|
78
|
+
# A succinct reproducing example trimmed down to the essential parts:
|
|
79
|
+
bc = BioCypher()
|
|
80
|
+
|
|
81
|
+
bc.write_nodes(nodes_generator()) # Note: the bug is here!
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If the code is too lengthy (though we hope it's not), feel free to place it in a public gist and share the link in the issue: https://gist.github.com.
|
|
85
|
+
|
|
86
|
+
Instead of providing the expected results, please paste or describe the actual results you observe. If you encounter an error, include the error message along with the full traceback. It's helpful to wrap error messages in ```` ```triple quotes blocks``` ````.
|
|
87
|
+
placeholder: |
|
|
88
|
+
A clear and concise description of what the bug is.
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
# Sample code to reproduce the problem
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
The error message you got, with the full traceback.
|
|
96
|
+
```
|
|
97
|
+
validations:
|
|
98
|
+
required: true
|
|
99
|
+
|
|
100
|
+
#-------------- Relevant LOG Output --------------
|
|
101
|
+
- type: textarea
|
|
102
|
+
id: logs
|
|
103
|
+
attributes:
|
|
104
|
+
label: Relevant LOG output
|
|
105
|
+
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
|
106
|
+
render: shell
|
|
107
|
+
|
|
108
|
+
#-------------- Code of Conduct --------------
|
|
109
|
+
- type: checkboxes
|
|
110
|
+
id: terms
|
|
111
|
+
attributes:
|
|
112
|
+
label: Code of Conduct
|
|
113
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/biocypher/biocypher/blob/main/CODE_OF_CONDUCT.md).
|
|
114
|
+
options:
|
|
115
|
+
- label: I agree to follow this project's Code of Conduct
|
|
116
|
+
required: true
|
|
117
|
+
|
|
118
|
+
- type: markdown
|
|
119
|
+
attributes:
|
|
120
|
+
value: >
|
|
121
|
+
Thank you for your contribution! 🎉 – The BioCypher Team
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: 📔 Documentation Improvement
|
|
2
|
+
description: Report wrong or missing documentation
|
|
3
|
+
|
|
4
|
+
title: "[DOC]: "
|
|
5
|
+
labels:
|
|
6
|
+
- "docs"
|
|
7
|
+
- "triage"
|
|
8
|
+
projects: ["biocypher/1"]
|
|
9
|
+
|
|
10
|
+
body:
|
|
11
|
+
#---------------- Location of the documentation --------------
|
|
12
|
+
- type: textarea
|
|
13
|
+
id: location
|
|
14
|
+
attributes:
|
|
15
|
+
label: Location of the documentation
|
|
16
|
+
description: >
|
|
17
|
+
Please provide the location of the documentation, e.g. "biocypher.BioCypher.add_nodes()" or the
|
|
18
|
+
URL of the documentation, e.g.
|
|
19
|
+
"https://biocypher.org/latest/reference/source/biocypher/#biocypher.BioCypher.add_nodes"
|
|
20
|
+
placeholder: https://biocypher.org/latest/reference/source/
|
|
21
|
+
validations:
|
|
22
|
+
required: true
|
|
23
|
+
|
|
24
|
+
#---------------- Problem Description --------------
|
|
25
|
+
- type: textarea
|
|
26
|
+
id: problem
|
|
27
|
+
attributes:
|
|
28
|
+
label: Documentation problem
|
|
29
|
+
description: >
|
|
30
|
+
Please provide a description of what documentation you believe needs to be fixed/improved
|
|
31
|
+
validations:
|
|
32
|
+
required: true
|
|
33
|
+
|
|
34
|
+
#---------------- Suggested Fix --------------
|
|
35
|
+
- type: textarea
|
|
36
|
+
id: suggested-fix
|
|
37
|
+
attributes:
|
|
38
|
+
label: Suggested fix for documentation
|
|
39
|
+
description: >
|
|
40
|
+
Please explain the suggested fix and **why** it's better than the existing documentation
|
|
41
|
+
validations:
|
|
42
|
+
required: true
|
|
43
|
+
|
|
44
|
+
#-------------- Code of Conduct --------------
|
|
45
|
+
- type: checkboxes
|
|
46
|
+
id: terms
|
|
47
|
+
attributes:
|
|
48
|
+
label: Code of Conduct
|
|
49
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/biocypher/biocypher/blob/main/CODE_OF_CONDUCT.md).
|
|
50
|
+
options:
|
|
51
|
+
- label: I agree to follow this project's Code of Conduct
|
|
52
|
+
required: true
|
|
53
|
+
|
|
54
|
+
- type: markdown
|
|
55
|
+
attributes:
|
|
56
|
+
value: >
|
|
57
|
+
Thank you for your contribution! 🎉 – The BioCypher Team
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
name: ✨ Feature Request
|
|
2
|
+
description: Submit a proposal/request for a new BioCypher feature
|
|
3
|
+
|
|
4
|
+
title: "[FEAT]: "
|
|
5
|
+
labels:
|
|
6
|
+
- "feature"
|
|
7
|
+
projects: ["biocypher/1"]
|
|
8
|
+
|
|
9
|
+
body:
|
|
10
|
+
- type: markdown
|
|
11
|
+
attributes:
|
|
12
|
+
value: >
|
|
13
|
+
**Note:** Please write your bug report in English to ensure it can be understood and addressed by the development team.
|
|
14
|
+
|
|
15
|
+
#-------------- Feature type --------------
|
|
16
|
+
- type: dropdown
|
|
17
|
+
id: feature-type
|
|
18
|
+
attributes:
|
|
19
|
+
label: Feature Type
|
|
20
|
+
description: Please select what type of feature request you would like to propose.
|
|
21
|
+
options:
|
|
22
|
+
- Add new functionality to BioCypher
|
|
23
|
+
- Change existing functionality in BioCypher
|
|
24
|
+
- Remove existing functionality in BioCypher
|
|
25
|
+
multiple: false
|
|
26
|
+
validations:
|
|
27
|
+
required: true
|
|
28
|
+
|
|
29
|
+
#-------------- Feature description and motivation --------------
|
|
30
|
+
- type: textarea
|
|
31
|
+
attributes:
|
|
32
|
+
label: 🚀 The feature and motivation
|
|
33
|
+
description: >
|
|
34
|
+
Provide a clear and concise summary of the proposed feature, including the motivation behind it.
|
|
35
|
+
If your request addresses a specific problem, describe it (e.g., "I'm working on X and need Y to be achievable").
|
|
36
|
+
If this is connected to an existing GitHub issue, please include a link.
|
|
37
|
+
placeholder: |
|
|
38
|
+
**Feature description**
|
|
39
|
+
As a user, I would like the ability to export a graph in OWL (Web Ontology Language) format,
|
|
40
|
+
similar to how pandas provides the `bc.to_pandas()`` function.
|
|
41
|
+
|
|
42
|
+
**Motivation**
|
|
43
|
+
Exporting graphs in OWL (Web Ontology Language) would enable seamless integration with other ontology-based datasets.
|
|
44
|
+
This would enhance my research on Ovarian Cancer treatments by allowing me to merge and analyze structured knowledge
|
|
45
|
+
from multiple sources. OWL's semantic capabilities would facilitate better data interoperability, reasoning, and inference,
|
|
46
|
+
ultimately improving the accuracy and depth of my study.
|
|
47
|
+
|
|
48
|
+
validations:
|
|
49
|
+
required: true
|
|
50
|
+
|
|
51
|
+
#-------------- Additional context --------------
|
|
52
|
+
- type: textarea
|
|
53
|
+
attributes:
|
|
54
|
+
label: Additional context
|
|
55
|
+
description: >
|
|
56
|
+
Add any other context or screenshots about the feature request.
|
|
57
|
+
|
|
58
|
+
#-------------- Code of Conduct --------------
|
|
59
|
+
- type: checkboxes
|
|
60
|
+
id: terms
|
|
61
|
+
attributes:
|
|
62
|
+
label: Code of Conduct
|
|
63
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/biocypher/biocypher/blob/main/CODE_OF_CONDUCT.md).
|
|
64
|
+
options:
|
|
65
|
+
- label: I agree to follow this project's Code of Conduct
|
|
66
|
+
required: true
|
|
67
|
+
|
|
68
|
+
- type: markdown
|
|
69
|
+
attributes:
|
|
70
|
+
value: >
|
|
71
|
+
Thank you for your contribution! 🎉 – The BioCypher Team
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
blank_issues_enabled: true
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: 👥 BioCypher GitHub Discussions
|
|
4
|
+
url: https://github.com/biocypher/biocypher/discussions
|
|
5
|
+
about: Please ask questions and participate in our long-term discussions here.
|
|
6
|
+
|
|
7
|
+
- name: 🌐 "BioCypher Zulip Channel"
|
|
8
|
+
url: https://biocypher.zulipchat.com/
|
|
9
|
+
about: Please ask for support here.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
name: 'Build docs'
|
|
2
|
+
description: 'Build docs and run doc tests'
|
|
3
|
+
|
|
4
|
+
runs:
|
|
5
|
+
using: "composite"
|
|
6
|
+
steps:
|
|
7
|
+
- name: Test code snippets in documentation
|
|
8
|
+
run: uv run make doctest --directory docs/
|
|
9
|
+
shell: bash
|
|
10
|
+
- name: Build documentation
|
|
11
|
+
run: uv run make html --directory docs/
|
|
12
|
+
shell: bash
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "Install"
|
|
2
|
+
description: "Install dependencies"
|
|
3
|
+
inputs:
|
|
4
|
+
PYTHON_VERSION:
|
|
5
|
+
description: "Python version"
|
|
6
|
+
default: "3.11"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
#----------------------------------------------
|
|
13
|
+
# load cached venv if cache exists
|
|
14
|
+
#----------------------------------------------
|
|
15
|
+
- name: Load cached venv
|
|
16
|
+
id: cached-uv-dependencies
|
|
17
|
+
uses: actions/cache@v3
|
|
18
|
+
with:
|
|
19
|
+
path: .venv
|
|
20
|
+
key: venv-${{ runner.os }}-${{ inputs.PYTHON_VERSION }}-${{ hashFiles('**/uv.lock') }}
|
|
21
|
+
#----------------------------------------------
|
|
22
|
+
# install dependencies if cache does not exist
|
|
23
|
+
#----------------------------------------------
|
|
24
|
+
- name: Install Dependencies
|
|
25
|
+
if: steps.cached-uv-dependencies.outputs.cache-hit != 'true'
|
|
26
|
+
run: uv sync --all-extras
|
|
27
|
+
shell: bash
|
|
28
|
+
- name: Install library
|
|
29
|
+
run: uv sync --all-extras
|
|
30
|
+
shell: bash
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: "Setup"
|
|
2
|
+
description: "Setup Python and uv"
|
|
3
|
+
inputs:
|
|
4
|
+
PYTHON_VERSION:
|
|
5
|
+
description: "Python version"
|
|
6
|
+
default: "3.11"
|
|
7
|
+
|
|
8
|
+
runs:
|
|
9
|
+
using: "composite"
|
|
10
|
+
steps:
|
|
11
|
+
- name: Set up Python ${{inputs.PYTHON_VERSION}}
|
|
12
|
+
uses: actions/setup-python@v5
|
|
13
|
+
with:
|
|
14
|
+
python-version: ${{inputs.PYTHON_VERSION}}
|
|
15
|
+
- name: Install uv
|
|
16
|
+
uses: astral-sh/setup-uv@v2
|
|
17
|
+
with:
|
|
18
|
+
version: "latest"
|
|
19
|
+
- name: Check uv installation
|
|
20
|
+
run: uv --version
|
|
21
|
+
shell: bash
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: "Test and code quality"
|
|
2
|
+
description: "Run tests and code quality checks"
|
|
3
|
+
inputs:
|
|
4
|
+
NEO4J_VERSION:
|
|
5
|
+
description: "Neo4j version"
|
|
6
|
+
|
|
7
|
+
runs:
|
|
8
|
+
using: "composite"
|
|
9
|
+
steps:
|
|
10
|
+
#----------------------------------------------
|
|
11
|
+
# setup docker containers for testing
|
|
12
|
+
#----------------------------------------------
|
|
13
|
+
# currently only running on Linux due to technical limitations
|
|
14
|
+
# - name: Install Docker
|
|
15
|
+
# uses: douglascamata/setup-docker-macos-action@v1-alpha
|
|
16
|
+
# if: ${{ runner.os == 'macOS' }}
|
|
17
|
+
- name: Start Neo4j Docker
|
|
18
|
+
run: docker run --restart always --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=neo4j/your_password_here --env NEO4J_PLUGINS='["apoc"]' --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes -d neo4j:${{ inputs.NEO4J_VERSION }}
|
|
19
|
+
shell: bash
|
|
20
|
+
if: ${{ runner.os == 'Linux' }}
|
|
21
|
+
- name: Start Postgres Docker
|
|
22
|
+
run: docker run --restart always --publish=5432:5432 --env POSTGRES_PASSWORD=postgres -d postgres:11.21-bullseye
|
|
23
|
+
shell: bash
|
|
24
|
+
if: ${{ runner.os == 'Linux' }}
|
|
25
|
+
#----------------------------------------------
|
|
26
|
+
# run tests and code quality checks
|
|
27
|
+
#----------------------------------------------
|
|
28
|
+
- name: Run Tests (Windows)
|
|
29
|
+
run: |
|
|
30
|
+
uv run pytest --version
|
|
31
|
+
uv run pytest --password=your_password_here
|
|
32
|
+
shell: bash
|
|
33
|
+
if: runner.os == 'Windows'
|
|
34
|
+
- name: Run tests (Linux and MacOS)
|
|
35
|
+
run: |
|
|
36
|
+
uv run pytest --version
|
|
37
|
+
uv run pytest --password=your_password_here
|
|
38
|
+
shell: bash
|
|
39
|
+
if: runner.os != 'Windows'
|
|
40
|
+
- name: Check code quality
|
|
41
|
+
uses: pre-commit/action@v3.0.0
|
|
42
|
+
# TODO: enable ruff once it does not throw thousands of errors
|
|
43
|
+
# - name: Run Ruff
|
|
44
|
+
# run: |
|
|
45
|
+
# uv run ruff check .
|
|
46
|
+
# uv run ruff format --check .
|
|
47
|
+
# shell: bash
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: 'Test coverage'
|
|
2
|
+
description: 'Check test coverage'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
token:
|
|
6
|
+
description: 'A Github PAT'
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Generate coverage report
|
|
13
|
+
run: uv run coverage run -m pytest --password=your_password_here
|
|
14
|
+
shell: bash
|
|
15
|
+
- name: Generate coverage badge
|
|
16
|
+
run: uv run coverage-badge -f -o docs/coverage/coverage.svg
|
|
17
|
+
shell: bash
|
|
18
|
+
- name: Commit changes
|
|
19
|
+
uses: s0/git-publish-subdir-action@develop
|
|
20
|
+
env:
|
|
21
|
+
REPO: self
|
|
22
|
+
BRANCH: coverage
|
|
23
|
+
FOLDER: docs/coverage
|
|
24
|
+
GITHUB_TOKEN: ${{ inputs.token }}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: CI Docs BioCypher
|
|
2
|
+
on:
|
|
3
|
+
# No branch triggers - only build docs on tags or manual trigger
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*' # Run on version tags
|
|
7
|
+
workflow_dispatch: # Allow manual triggering
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
deploy:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout Repository
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0 # Fetch all history for proper versioning
|
|
20
|
+
- name: Configure Git Credentials
|
|
21
|
+
run: |
|
|
22
|
+
git config user.name github-actions[bot]
|
|
23
|
+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
24
|
+
|
|
25
|
+
#----------------------------------------------
|
|
26
|
+
# Set-up python and uv
|
|
27
|
+
#----------------------------------------------
|
|
28
|
+
- name: Setup Python and uv
|
|
29
|
+
uses: ./.github/actions/setup
|
|
30
|
+
|
|
31
|
+
#----------------------------------------------
|
|
32
|
+
# Install dependencies
|
|
33
|
+
#----------------------------------------------
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
uses: ./.github/actions/install
|
|
36
|
+
|
|
37
|
+
#----------------------------------------------
|
|
38
|
+
# Build and deploy documentation
|
|
39
|
+
#----------------------------------------------
|
|
40
|
+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
|
41
|
+
- uses: actions/cache@v4
|
|
42
|
+
with:
|
|
43
|
+
key: mkdocs-material-${{ env.cache_id }}
|
|
44
|
+
path: .cache
|
|
45
|
+
restore-keys: |
|
|
46
|
+
mkdocs-material-
|
|
47
|
+
|
|
48
|
+
- name: Build documentation
|
|
49
|
+
run: uv run mkdocs build
|
|
50
|
+
|
|
51
|
+
- name: Deploy documentation with mike
|
|
52
|
+
run: |
|
|
53
|
+
# Extract version from pyproject.toml or use a default version
|
|
54
|
+
VERSION=$(uv run python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version']" || echo "latest")
|
|
55
|
+
# Deploy the docs with mike
|
|
56
|
+
uv run mike deploy --push --update-aliases $VERSION latest
|
|
57
|
+
# Set the latest version as default
|
|
58
|
+
uv run mike set-default --push latest
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Tests and code quality checks for pull requests
|
|
2
|
+
|
|
3
|
+
on: [pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
tests_and_code_quality:
|
|
7
|
+
strategy:
|
|
8
|
+
fail-fast: true
|
|
9
|
+
matrix:
|
|
10
|
+
os: ["ubuntu-latest", "macos-13", "windows-latest"]
|
|
11
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
12
|
+
neo4j-version: ["4.4-enterprise", "5.17.0-enterprise"]
|
|
13
|
+
exclude:
|
|
14
|
+
# Windows tests don't use the PostgreSQL/Neo4j Docker containers
|
|
15
|
+
- os: "windows-latest"
|
|
16
|
+
neo4j-version: "4.4-enterprise"
|
|
17
|
+
# https://github.com/biocypher/biocypher/issues/339
|
|
18
|
+
- os: "macos-latest"
|
|
19
|
+
neo4j-version: "4.4-enterprise"
|
|
20
|
+
runs-on: ${{ matrix.os }}
|
|
21
|
+
defaults:
|
|
22
|
+
run:
|
|
23
|
+
shell: bash
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
#----------------------------------------------
|
|
27
|
+
# checkout repo and set-up python and uv
|
|
28
|
+
#----------------------------------------------
|
|
29
|
+
- name: Checkout Repository
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
- name: Setup Python and uv
|
|
32
|
+
uses: ./.github/actions/setup
|
|
33
|
+
with:
|
|
34
|
+
PYTHON_VERSION: ${{ matrix.python-version }}
|
|
35
|
+
#----------------------------------------------
|
|
36
|
+
# install dependencies
|
|
37
|
+
#----------------------------------------------
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
uses: ./.github/actions/install
|
|
40
|
+
with:
|
|
41
|
+
PYTHON_VERSION: ${{ matrix.python-version }}
|
|
42
|
+
|
|
43
|
+
#----------------------------------------------
|
|
44
|
+
# run tests and code quality checks
|
|
45
|
+
#----------------------------------------------
|
|
46
|
+
- name: Run tests
|
|
47
|
+
uses: ./.github/actions/test
|
|
48
|
+
with:
|
|
49
|
+
NEO4J_VERSION: ${{ matrix.neo4j-version }}
|