freva-legacy

The Free Evaluation System Framework (FreVa)

https://github.com/freva-org/freva-legacy

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    12 of 54 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

The Free Evaluation System Framework (FreVa)

Basic Info
  • Host: GitHub
  • Owner: freva-org
  • License: other
  • Language: Python
  • Default Branch: main
  • Size: 65.6 MB
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 3
  • Open Issues: 0
  • Releases: 2
Archived
Created almost 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Free Evaluation System Framework

PyPI version Update Anaconda-Server Badge Docs codecov Pipeline Binder BSD

💡 The code base is deprecated and should only be used if necessary. A new version of Freva is on the way! While it’s still under development, you can already start using it. If your primary focus is searching and accessing data, we highly recommend trying out the new Freva client (https://pypi.org/project/freva-client/)

Freva

What is Freva ?

Freva, the free evaluation system framework, is a data search and analysis platform developed by the atmospheric science community for the atmospheric science community. With help of Freva researchers can:

  • quickly and intuitively search for data stored at typical data centers that host many datasets.
  • create a common interface for user defined data analysis tools.
  • apply data analysis tools in a reproducible manner.

Data analysis is realised by user developed data analysis plugins. These plugins are code agnostic, meaning that users don't have to rewrite the core of their plugins to make them work with Freva. All that Freva does is providing a user interface for the plugins.

Currently Freva comes in three different flavours:

  • a python module that allows the usage of Freva in python environments, like jupyter notebooks
  • a command line interface (cli) that allows using Freva from the command lines and shell scripts.
  • a web user interface (web-ui)

Where can I find the Freva user documentation?

A more detailed overview on the usage of freva can be found on the freva user documentation page

How can I install Freva at my institution?

Deployment is realised via a dedicated repository that holds code to set up the command line and web user interface as well as all services. To deploy the system in production mode consult deployment docs.

How can I set up a local version for development?

To start development with freva clone the repository and its submodules:

git clone --recursive https://github.com/freva-org/freva.git

A basic local development setup can be created using Docker and docker-compose (Linux users need to install it separately).

This also requires that the .envrc file is sourced.

docker-compose up -d

Dummy data can be injected into a running docker-compose environment with make dummy-data. This will add some example files into solr and run an example plugin a few times to add some history data.

When finished, tear down the environment with

docker-compose down

Creating a dedicated anaconda dev environment

We recommend using anaconda to install all packages that are needed for development. Here we assume that you have a working anaconda version per-installed on your local computer. To install the dev environment simply use the following command:

conda env create -f dev-environment.yml source .envrc This will automatically set environment variables needed for development. The freshly installed environment can be activated: conda activate freva-dev The conda environment can be deactivated using the following command: conda deactivate Note: The conda install command can be slow. If you want to speed up the installation of the environment we recommend to install the mamba package in the anaconda base environment and use the mamba command to create the environment:

conda install mamba mamba env create -f dev-environment.yml source .envrc

Installing the python package

Use the pip install command to install the actual python core packages into your activated environment:

bash pip install -e .[test]

The -e flag will link the source code into your python environment, which can be useful for development purpose.

Running tests and creating a test coverage report

The system can be tested with a Makefile. To run the tests and generate a simple test coverage report simply use the make command:

bash make test

The linter testing can be applied by:

bash make lint

Usage of pre-commit setup

To use the pre-commit setup in freva, follow these steps:

  1. Install Pre-commit:

    • First, install the pre-commit package using pip: bash pip install pre-commit
  2. Activate Hooks:

    • Navigate to the root directory of your repository and run the following command to set up the git hooks: bash pre-commit install
  3. Automatic Checks:

    • Now, each time you attempt to commit changes, the pre-commit hooks will automatically run to ensure your files adhere to the specified standards.
  4. Manual Execution:

    • If you want to manually run the hooks on all files, use: bash pre-commit run --all-files

Owner

  • Name: Freva
  • Login: freva-org
  • Kind: organization
  • Email: freva@dkrz.de
  • Location: Germany

Freva – The Free Evaluation System Framework

GitHub Events

Total
  • Issues event: 4
  • Delete event: 6
  • Push event: 19
  • Pull request review event: 3
  • Pull request event: 14
  • Create event: 7
Last Year
  • Issues event: 4
  • Delete event: 6
  • Push event: 19
  • Pull request review event: 3
  • Pull request event: 14
  • Create event: 7

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 2,449
  • Total Committers: 54
  • Avg Commits per committer: 45.352
  • Development Distribution Score (DDS): 0.657
Past Year
  • Commits: 121
  • Committers: 6
  • Avg Commits per committer: 20.167
  • Development Distribution Score (DDS): 0.595
Top Committers
Name Email Commits
k204230 b****n@d****e 839
antarcticrainforest m****n@p****g 304
estani@tux14 e****z@m****e 263
Sebastian Illing s****g@m****e 160
dependabot[bot] 4****]@u****m 156
kunst o****t@m****e 135
Christopher Kadow c****w@m****e 119
Oliver Kunst u****8@w****e 91
k204229 l****a@d****e 82
k204231 r****s@d****e 36
Mo h****h@d****e 27
Sebastian Illing s****g@m****e 24
Brian Lewis l****s@d****e 22
Oliver Kunst u****8@m****e 14
Philipp S. Sommer p****r@h****e 12
Oliver Kunst e****s@o****e 10
vk integra i****a@o****e 10
Mo mo@M****e 8
Oliver Kunst u****8@w****e 8
Freva application in Kiowa f****a@k****u 7
MoSHad91 m****1@g****m 7
Thomas Schartner b****9@m****e 7
Thomas Schartner b****9@m****e 7
root r****t@i****e 7
Martin Bergemann m****n@m****e 7
Mahesh Ramadoss k****1@m****e 6
Martin Bergemann k****0@w****e 6
Oliver Kunst u****8@m****e 6
Oliver Kunst u****8@m****e 6
Andrej Fast a****t@d****e 5
and 24 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 4
  • Total pull requests: 56
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.54
  • Merged pull requests: 51
  • Bot issues: 0
  • Bot pull requests: 30
Past Year
  • Issues: 2
  • Pull requests: 43
  • Average time to close issues: 22 days
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.23
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 30
Top Authors
Issue Authors
  • antarcticrainforest (4)
  • eelucio (3)
  • mo-dkrz (1)
Pull Request Authors
  • dependabot[bot] (32)
  • antarcticrainforest (14)
  • eelucio (6)
  • mo-dkrz (5)
  • grooverdan (4)
Top Labels
Issue Labels
rest api (4) enhancement (2) bug (1)
Pull Request Labels
dependencies (32) python (7)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 74 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 26
  • Total maintainers: 1
pypi.org: freva

Free Evaluation and Analysis Framework (Freva)

  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 74 Last month
Rankings
Dependent packages count: 6.6%
Average: 21.7%
Downloads: 27.8%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 10 months ago

Dependencies

setup.py pypi
  • Django *
  • GitPython *
  • Pillow *
  • PyPDF2 *
  • appdirs *
  • dask *
  • h5netcdf *
  • humanize *
  • lazy-import *
  • metadata-inspector *
  • mysqlclient *
  • netCDF4 *
  • numpy *
  • pandas *
  • pymysql *
  • requests *
  • toml *
  • toolz *
  • typing_extensions *
  • xarray *
.github/workflows/ci_job.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v2 composite
  • actions/setup-python v3 composite
  • actions/upload-pages-artifact v1 composite
  • codecov/codecov-action v1 composite
  • peaceiris/actions-gh-pages v3 composite
.docker/Dockerfile docker
  • mariadb latest build
Dockerfile docker
  • antarcticrainforest/freva latest build
.github/workflows/pypi_job.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite