Skip to main content

Build status

Overview

DCIC Snovault is a JSON-LD Database Framework that serves as the backend for the 4DN Data portal and CGAP. Check out our full documentation here.

Installation in 4DN components

DCIC Snovault is pip installable as the dcicsnovault package with:

$ pip install dcicsnovault``

However, at the present time, the functionality it provides might only be useful in conjunction with other 4DN-DCIC components.

NOTE: If you’d like to enable Elasticsearch mapping with type=nested, set the environment variable “MAPPINGS_USE_NESTED” or set the registry setting “mappings.use_nested”.

Installation for Development

Currently these are for Mac OSX using homebrew. If using linux, install dependencies with a different package manager.

Step 0: Install Xcode

Install Xcode (from App Store) and homebrew: http://brew.sh

Step 1: Verify Homebrew Itself

Verify that homebrew is working properly:

$ brew doctor

Step 2: Install Homebrewed Dependencies

Install or update dependencies:

$ brew install libevent libmagic libxml2 libxslt openssl postgresql graphviz python3
$ brew install freetype libjpeg libtiff littlecms webp  # Required by Pillow
$ brew cask install adoptopenjdk8
$ brew install elasticsearch@5.6

NOTES:

  • If installation of adtopopenjdk8 fails due to an ambiguity, it should work to do this instead:

    $ brew cask install homebrew/cask-versions/adoptopenjdk8
  • If you try to invoke elasticsearch and it is not found, you may need to link the brew-installed elasticsearch:

    $ brew link --force elasticsearch@5.6
  • If you need to update dependencies:

    $ brew update
    $ rm -rf encoded/eggs
  • If you need to upgrade brew-installed packages that don’t have pinned versions, you can use the following. However, take care because there is no command to directly undo this effect:

    $ brew update
    $ brew upgrade
    $ rm -rf encoded/eggs

Step 3: Running Poetry

To locally install using versions of Python libraries that have worked before, use this:

$ poetry install

Updating dependencies

To update the version dependencies, use:

$ poetry update

This command also takes space-separated names of specific packages to update. For more information, do:

$ poetry help update

Managing poetry.lock after update

There may be situations where you do this with no intent to check in the resulting updates, but once you have checked that the updates are sound, you may wish to check the resulting poetry.lock file.

Publishing

Normally, a successful build on a tagged branch (including a branch tagged as a beta) will cause publication automatically. The process begins by obtaining the version. You might do

$ head pyproject.toml

to see the first few lines of pyproject.toml, which will contain a line like version = 100.200.300, which is the snovault version. You should prepend the letter v to that version, and create the tag and push it to the GitHub server:

$ git tag v100.200.300 $ git push origin v100.200.300

Please do NOT use some other syntax for git push that pushes all of your tags. That might pick up tags that do not belong on the server and can generally cause tag pollution. Push specifically the tag you intend to publish.

Pushing such a tag should trigger publication automatically within a few minutes.

Manual Publication

There might be rare occasions where you need to do the publication manually, but normally it is not necessary or desirable. In most cases, it will either fail or will cause the automatic publication step to fail. The main case where this is known to be needed is where publication has failed on a tagged branch for reasons other than the fact of that tag being already published (e.g., a network interruption or a premature shutdown of the GitHub Actions task). An incomplete publication on GitHub Actions cannot be easily retried, so only in that case you may need to do:

$ make publish

However, to do this command locally, you would need appropriate credentials on PyPi for such publication to succeed. As presently configured, these credentials need to be in the environment variables PYPI_USER and PYPI_PASSWORD. The script that runs if you manually attempt make publish checks that you have properly declared credentials before it attempts to publish. Note that GitHub Actions is already configured with credentials, so you do not need to worry about them if you just push a tag and let the pre-defined action do the publication.

Running tests

To run specific tests locally:

$ bin/test -k test_name

To run with a debugger:

$ bin/test --pdb

Specific tests to run locally for schema changes:

$ bin/test -k test_load_workbook

Run the Pyramid tests with:

$ bin/test

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dcicsnovault-11.33.0.tar.gz (461.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dcicsnovault-11.33.0-py3-none-any.whl (545.9 kB view details)

Uploaded Python 3

File details

Details for the file dcicsnovault-11.33.0.tar.gz.

File metadata

  • Download URL: dcicsnovault-11.33.0.tar.gz
  • Upload date:
  • Size: 461.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.15 Linux/6.8.0-1059-azure

File hashes

Hashes for dcicsnovault-11.33.0.tar.gz
Algorithm Hash digest
SHA256 6ed26aee41359d340d31acd435cc68777ede08a1c112e06f67d862c47234f72c
MD5 81212e2035154ef58f449c1fad8b5d0e
BLAKE2b-256 5b02e5a2df776745a9ea1ea41c060d14addaf23cc97b0294e142d82e019a4dd4

See more details on using hashes here.

File details

Details for the file dcicsnovault-11.33.0-py3-none-any.whl.

File metadata

  • Download URL: dcicsnovault-11.33.0-py3-none-any.whl
  • Upload date:
  • Size: 545.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.15 Linux/6.8.0-1059-azure

File hashes

Hashes for dcicsnovault-11.33.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62456e8e2db5fc3df433cb26c35a50d4a27460cec5a5fde4bbad83267eab8a31
MD5 0f75309ed600b93fb7f7d6e3543f8cac
BLAKE2b-256 964dbb1b3a3038c4f4c5df7c3913374a49212a0db7082b7d7232a85a431119f5

See more details on using hashes here.

Release history Release notifications | RSS feed

11.36.0

2 files

11.35.2

2 files

11.35.1

2 files

11.35.0

2 files

11.34.0

2 files

11.33.1

2 files

This release

11.33.0 This release

2 files

11.32.3

2 files

11.32.1

2 files

11.30.2

2 files

11.30.0

2 files

11.29.0

2 files

11.28.0

2 files

11.27.0

2 files

11.26.0

2 files

11.25.0

2 files

11.24.0

2 files

11.23.0

2 files

11.22.0

2 files

11.21.1

2 files

11.21.0

2 files

11.20.0

2 files

11.19.0

2 files

11.18.0

2 files

11.17.0

2 files

11.16.0

2 files

11.15.1

2 files

11.15.0

2 files

11.14.3

2 files

11.14.2

2 files

11.14.1

2 files

11.14.0

2 files

11.13.0

2 files

11.12.4

2 files

11.12.3

2 files

11.12.2

2 files

11.12.1

2 files

11.12.0

2 files

11.11.0

2 files

11.10.0

2 files

11.9.0

2 files

11.7.0

2 files

11.6.0

2 files

11.5.0

2 files

11.4.0

2 files

11.3.1

2 files

11.3.0

2 files

11.2.0

2 files

11.1.0

2 files

11.0.0

2 files

10.0.5

2 files

10.0.4

2 files

10.0.3

2 files

10.0.2

2 files

10.0.1

2 files

10.0.0

2 files

9.1.1

2 files

9.1.0

2 files

9.0.0

2 files

8.0.1

2 files

8.0.0

2 files

7.3.1

2 files

7.3.0

2 files

7.2.1

2 files

7.2.0

2 files

7.1.3

2 files

7.1.2

2 files

7.1.1

2 files

7.1.0

2 files

7.0.0

2 files

6.0.8

2 files

6.0.7

2 files

6.0.6

2 files

6.0.5

2 files

6.0.4

2 files

6.0.3

2 files

6.0.2

2 files

6.0.1

2 files

6.0.0

2 files

5.7.0

2 files

5.6.2

2 files

5.6.1

2 files

5.6.0

2 files

5.5.1

2 files

5.5.0

2 files

5.4.0

2 files

5.3.0

2 files

5.2.0

2 files

5.1.1

2 files

5.1.0

2 files

5.0.0

2 files

4.9.2

2 files

4.9.1

2 files

4.9.0

2 files

4.8.5

2 files

4.8.4

2 files

4.8.3

2 files

4.8.1

2 files

4.8.0

2 files

4.7.6

2 files

4.7.5

2 files

4.7.4

2 files

4.7.2

2 files

4.7.1

2 files

4.7.0

2 files

4.6.0

2 files

4.5.0

2 files

4.4.0

2 files

4.3.1

2 files

4.1.2

2 files

4.1.0

2 files

4.0.12

2 files

4.0.11

2 files

4.0.10

2 files

4.0.9

2 files

4.0.8

2 files

4.0.7

2 files

4.0.6

2 files

4.0.4

2 files

4.0.3

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.1.9

2 files

3.1.8

2 files

3.1.6

2 files

3.1.5

2 files

3.1.4

2 files

3.1.1

2 files

3.0.10

2 files

3.0.9

2 files

3.0.7

2 files

3.0.3

2 files

3.0.2

2 files

3.0.0

2 files

2.2.4

2 files

2.2.1

2 files

2.2.0

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page