semvec/pypi-packages huggingface dataset:
gooddata-flexfun 1.30.1.dev1
Set of gooddata-flight-server methods to host custom functions for GoodData Cloud
License: MIT
Requires Python: >=3.9.0
Keywords: gooddata, flight, rpc, flight rpc, custom functions, analytics, headless, business, intelligence, headless-bi, cloud, native, semantic, layer, sql, metrics

# GoodData FlexFun

The GoodData FlexFun package is a GoodData Flight Server-compatible extension
that provides a framework for hosting custom pluggable functions called FlexFuns.
These can be used to act as a dataset for GoodData FlightRPC data sources.

## What is a FlexFun?

In essence, FlexFun is a class that provides a set of methods that can be called by the GoodData Cloud when data is
requested from the corresponding FlightRPC data source dataset.

Each FlexFun provides a `name` used to identify the FlexFun in the GoodData Cloud.
FlexFuns can provide a set of `metadata` that can further influence when and how they are called by GoodData Cloud.
They also provide a `schema` (defined in terms
of [pyarrow.Schema](https://arrow.apache.org/docs/python/generated/pyarrow.Schema.html))
that describes the shape of data that the FlexFun can provide.
Finally, they provide a set of methods that can be called to provide data in response to queries:
* `call` - called to provide data in response to a query
* `cancel` - called to cancel a query if GoodData Cloud decides to stop requesting data (e.g. if there is a timeout)
* `on_load` - called when the FlexFun is created before any `call` or `cancel` methods are called

## Getting Started using the FlexFun Template

The easiest way to get started writing FlexFuns is to use [the template repository](https://github.com/gooddata/gooddata-flexfun-template).
It provides a simple example of a FlexFun that can be used as a starting point for your own FlexFun with all the necessary infrastructure in place.
It also has a README that explains how to get started with the template and some general tips on how to write FlexFuns.

## Getting started using the FlexFun package directly

Install the package alongside the gooddata-flight-server using pip:

```bash
pip install gooddata-flight-server gooddata-flexfun
```

Next, update the GoodData Flight Server configuration to load the FlexFun methods.

```toml
[flexfun]

# specify one or more modules that contain your FlexFun implementations
#
functions = [
    "flexfun.your_function"
]
```

Then when running the GoodData Flight Server, use the `--methods-provider` option to load the FlexFun methods.
For example:

```bash
#!/bin/bash

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
SERVER_CMD="${SCRIPT_DIR}/.venv/bin/gooddata-flight-server"

export PYTHONPATH="${SCRIPT_DIR}/src"
export CONFIG_ENV="${1:-dev}"

$SERVER_CMD start \
              --methods-provider gooddata_flexfun \
              --config \
                config/${CONFIG_ENV}.server.toml \
                config/flexfun.config.toml \
              --logging-config config/default.logging.ini \
              --dev-log
```

This will start the GoodData Flight Server with the FlexFun methods loaded.
evaluix 0.9.3.2
Data Evaluation Software of the (Magnetism) research group of Prof. Ehresmann at University of Kassel
License: MIT
Requires Python: >=3.9
Keywords: evaluix, hysteresis

evaluix
=======

.. image:: https://img.shields.io/badge/version-1.0.0-blue
   :target: https://img.shields.io/badge/version-1.0.0-blue
.. image:: https://img.shields.io/badge/License-MIT-blue
   :target: https://github.com/exp4-age/evaluix/blob/main/LICENSE

Data Evaluation Software of Arbeitsgruppe Ehresmann (Magnetism)

Installation
------------

Install with ::

    pip install evaluix

If you want to help develop and contribute to the package, first clone
the repository to your PC and install in editable mode (detailed 
tutorial is about to come)::

    git clone https://github.com/exp4-age/evaluix.git
    cd evaluix
    pip install -e .

Recommendation for Students and Beginners
-----------------------------------------

Install Anaconda and create a new environment with Python 3.9 or higher. Activate it in an anaconda prompt
and install evaluix as follows ::

    conda create -n myevaluix python=3.9 (or higher, answer with y if asked)

    conda activate myevaluix

    conda install pip (if necessary)

    pip install evaluix (answer with y if asked)

Now you can start the software by typing `evaluix` in the anaconda prompt ::

    conda activate myevaluix (if not already activated)

    evaluix

Documentation
-------------

About to come.

Contributing
------------

About to come