equinor / equinor/dataorc

Document scope of library

Open
#56 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This library is currently in an early development phase, as highlighted in the README:

Image

This allows us to experiment with the library, adding and removing breaking changes as we like without actually having to mark them as breaking changes just yet.

Before the first full v1.0.0 release and the removal of this disclaimer in the README, we should document a clear scope and structure for this library. The pros and cons of the different scopes and structures should be discussed before a final decision is made.

## Example 1: Single package

This repository contains a single package (`dataorc`) with smaller modules that contain classes and functions for a specific scope, for example:

- A `config` module that contains generic pipeline configuration classes and functions
- A `databricks` module that contains Databricks specific classes and functions
- An `azure` module that contains Azure specific classes and functions

Installation:

```console
pip install dataorc
```

Imports:

```python
from dataorc.config import CorePipelineConfig
from dataorc.azure import Logger
```

## Example 2: Multiple packages

This repository contains multiple packages that contain modules for a specific scope, for example:

- A `dataorc-utils` package that contains generic utility modules, for example the `config` module from example 1.
- A `dataorc-logging` package that contains logging modules, for example an `azure` module that contains classes and functions for logging to Azure Log Analytics.

**Each package will be a separate entry in pypi**, adding _some_ administrative overhead.

Installation:

```console
pip install dataorc-utils dataorc-logging
```

Imports:

```python
from dataorc_utils.config import CorePipelineConfig
from dataorc_logging.azure import Logger
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.