semvec/pypi-packages huggingface dataset:
dora-eda 4.0.2
Exploratory data analysis and presentation tool
License: MIT
Requires Python: >=3.13

# Data Oriented Report Automator (DORA)

<p align="center">
    <img src="data/assets/dora-updated-concept.png" alt="DORA Logo" width="200"/>
</p>

<p align="center">
    <img src="data/assets/demo-snippet.png" alt="DORA Demo" width="700"/>
</p>

An interactive power-tool to automate Exploratory Data Analysis (EDA) and generate beautiful, insightful reports in seconds.
</em>

<p align="center">
    <a href="https://dora-eda.streamlit.app/">
        <img src="https://static.streamlit.io/badges/streamlit_badge_black_white.svg" alt="Open in Streamlit">
    </a>
    <br>
</p>

## What is DORA?

DORA is a tool that does the heavy lifting of data analysis for you. Instead of writing code to create charts and calculate statistics, you give DORA your data file, and it builds a comprehensive, beautiful HTML report automatically.

You can use DORA in two ways:
1.  **Web App**: No installation needed. Just upload your data and download the report.
2.  **CLI Tool**: Install locally for power usage and automation.

If you have used tools like [ydata-profiling](https://github.com/ydataai/ydata-profiling) and [sweetviz](https://pypi.org/project/sweetviz/), DORA lets you do more. It provides a way to process kaggle dataset as well without a lot of clutter.

## Get started in 2 minutes

1. Install DORA

Open your terminal and run the following command:

```bash
pip install dora-eda
```

2. Run DORA

Simply run the following command:
DORA supports the following file formats: `.csv`, `.xlsx`, `.json`, `.parquet`

```bash
dora
```
An interactive wizard will appear and ask a few simple questions:
- What is the path to your data file? (You can type a path like `data/raw/insurance` or even a Kaggle dataset URL like `https://www.kaggle.com/datasets/sakshisatre/tips-dataset`)
- Where should we save the report?
- What kind of analysis do you want?

Sit back for a few seconds, and DORA will generate your report.

**Example:**
<p align="center">
    <img src="data/assets/cli-demo.png" alt="DORA Demo" width="700"/>
</p>

## Usage Examples

**The Easy Way (Interactive Wizard)**
Best for first-time users or quick checks.

```bash
dora
```

Just follow the prompts on the screen. DORA will handle the rest.

**The Automation Way**
If you run the same analysis often, you can save your configuration in a YAML file and run DORA with the `--config` flag.
```bash
dora --config config.yaml
```

## What Do I Get?
After DORA finishes, check the output folder you selected to find:
1. `eda_report.html`: The main report. double-click to open it in your browser.
2. `charts/`: A folder containing all the charts generated by DORA.

## Contribution
I love help from the community! If you are a developer and want to improve DORA, check out our [contribution guide](CONTRIBUTION.md) to get started with setting up the developer environment.

## License
DORA is licensed under the MIT License. See [LICENSE](LICENSE) for details.
libcalab 0.2.4
This is a library for character animation with no GUI (console-mode). For rendering, please use libcalab_ogre3d (ogre-next) or GitHub:taesoobear/libcalab_examples (ogre-python) instead.
License: MIT
Requires Python: ==3.12.*

# example code 1 (fbx loading). 
```
import os,sys,pdb,math
from libcalab import *

this=RE.createMainWin() # this is necessary before using libcalab


skelFile='../../Mixamo/fbx_withSkin/bigvegas_Walking.fbx' 
skinScale=1

fbx=RE.FBXloader(skelFile, skinScale=skinScale, useTexture=True, simplifyMesh=False)

loader=fbx.loader
motion=fbx.loader.mMotion

print(loader)
lua.out(loader) #  print skeleton using lua (see console).


pdb.set_trace()
```
# example code 2 (bvh loading). 
```
import os, sys, pdb, math, random
from libcalab import *
import numpy as np
import copy

this=RE.createMainWin(sys.argv)

loader1=RE.createMotionLoaderExt('../Resource/motion/woody/wd2_2foot_walk_turn2.bvh')
mMotion=loader1.mMotion

# pose editing using quaternions
lua.out(loader1) #  print skeleton using lua (see console).
ri1=loader1.getRotJointIndexByName('LeftForeArm')
pose1.rotations(ri1).setRotation(m.vector3(0,1,0), math.radians(-90))


# pose editing using euler angles
loader1.setPose(pose2)
dof2=loader1.getPoseDOF()

print(dof2.array)
# The two lines above set and get the quaternions (pose2) in the loader to convert them into Euler angles (dof).
# In other words, pose2 and dof2 represent the same pose but in different representations.
loader1_relbow=loader1.getTreeIndexByName('RightForeArm')
rindex2_start=loader1.dofInfo.startR(loader1_relbow)
rindex2_end=loader1.dofInfo.endR(loader1_relbow)

print(loader1.bone(loader1_relbow).getRotationalChannels())
```
# Other examples which use ogre-python for rendering
```
https://github.com/taesoobear/libcalab_examples
```

# Other examples which use libcalab-ogre3d (ogre-next) for much faster rendering
```
https://github.com/taesoobear/IPCDNNwalk
```