semvec/pypi-packages huggingface dataset:
flux-rx 0.1.0
A stock market analysis and visualization Python package.
License: MIT
Requires Python: >=3.9
Keywords: finance, stocks, analysis, visualization, plotly

# Flux-RX

**A Finance Python Package**

Flux-RX makes financial analysis and visualization effortless. Generate publication-quality interactive charts, reports, and dashboards for any stock, ETF, or index with minimal code.

## Installation

```bash
pip install -e .
```

## Quick Start

```python
import flux_rx as fx

# Generate a complete analysis report
fx.quick("AAPL", period="5y", benchmark="SPY", save="AAPL.html")

# Create individual charts
fx.chart("SPY", kind="price", period="10y")
fx.chart("AAPL", kind="drawdown")
fx.chart("TSLA", kind="monthly")

# Compare multiple assets
fx.compare(["QQQ", "SPY", "IWM"], period="5y", kind="risk_return")

# Launch interactive dashboard
fx.app()
```

## Features

### Data
- Automatic data fetching via yfinance
- Local caching to avoid repeated downloads
- Company metadata and fundamentals
- Support for stocks, ETFs, and indices

### Analytics
- Daily and cumulative returns
- CAGR, volatility, max drawdown
- Sharpe, Sortino, and Calmar ratios
- Rolling volatility and rolling Sharpe
- Beta and alpha vs benchmark
- Monthly returns analysis

### Charts
- Price charts with moving averages
- Candlestick OHLC charts
- Volume analysis
- Drawdown curves
- Rolling volatility and Sharpe charts
- Monthly returns heatmaps
- Risk-return scatter plots
- Correlation matrices

### Reports
- Interactive HTML reports
- Single-ticker analysis
- Multi-ticker comparison
- All charts in one exportable file

### Dashboard
- Full web application via Dash
- Single ticker analysis mode
- Multi-ticker comparison mode

## API Reference

### `fx.quick(ticker, period, benchmark, save)`
Generate a complete analysis report.

```python
fx.quick("AAPL", period="5y", benchmark="SPY", save="report.html")
```

### `fx.chart(ticker, kind, period)`
Create individual charts.

```python
# Chart types: price, volume, drawdown, volatility, sharpe, monthly, cumulative, candlestick
fx.chart("AAPL", kind="price", period="2y")
```

### `fx.compare(tickers, period, kind)`
Compare multiple assets.

```python
# Comparison types: performance, risk_return, correlation, report
fx.compare(["AAPL", "MSFT", "GOOGL"], period="5y", kind="performance")
```

### `fx.app()`
Launch the interactive dashboard.

```python
fx.app(port=8050)
```

### `fx.metrics(ticker, period, benchmark)`
Get computed metrics as a dictionary.

```python
metrics = fx.metrics("AAPL", period="5y", benchmark="SPY")
# Returns: cagr, volatility, max_drawdown, sharpe_ratio, sortino_ratio, etc.
```

### `fx.info(ticker)`
Get company/security information.

```python
info = fx.info("AAPL")
# Returns: name, sector, industry, market_cap, pe_ratio, etc.
```

## License

MIT License
claude-json-to-markdown 0.2.0
CLI tool to convert Claude conversation exports to Markdown files
License: MIT
Requires Python: >=3.10
Keywords: json, markdown, anthropic, claude, converter, cli, export, backup

# Claude JSON to Markdown Converter (`cj2md`)

A command-line tool that converts [Anthropic Claude](https://www.anthropic.com/) conversation exports to Markdown files.

## Installation

```bash
# Run directly (recommended)
uvx cj2md <input.json> [output_dir]

# Or install globally
uv tool install claude-json-to-markdown

# Or add to a project
uv add claude-json-to-markdown
```

## Exporting Your Data

Follow [Anthropic's export guide](https://support.anthropic.com/en/articles/9450526-how-can-i-export-my-claude-ai-data):

1. Click your initials (lower left) > Settings > Privacy > Export data
2. Download link arrives via email

## Usage

```bash
cj2md [OPTIONS] JSON_INPUT_FILE [MARKDOWN_OUTPUT_DIRECTORY]
```

### Arguments

| Argument | Description | Default |
|----------|-------------|---------|
| `JSON_INPUT_FILE` | Path to exported JSON file | Required |
| `MARKDOWN_OUTPUT_DIRECTORY` | Output directory for .md files | `markdown_conversations` |

### Options

| Option | Description |
|--------|-------------|
| `-l, --limit INT` | Limit number of conversations processed |
| `--log-path PATH` | Custom log file path |
| `--no-summary` | Omit conversation summary from header |
| `--no-thinking` | Omit Claude's thinking blocks |
| `--no-citations` | Omit References section with URLs |
| `--no-tools` | Omit tool usage (web_search, artifacts, etc.) |
| `--verbose-tools` | Show full tool inputs/outputs |

### Example

```bash
uvx cj2md conversations.json ./output --limit 50 --no-thinking
```

## Output Format

Each conversation becomes a Markdown file named `YYYY-MM-DD_slugified-name_uuid.md` containing:

- **Header**: UUID, name, timestamps, optional summary
- **Messages**: Sender, timestamp, content, attachments
- **Thinking blocks**: Claude's reasoning (unless `--no-thinking`)
- **Tool usage**: Web searches, artifacts, file operations (unless `--no-tools`)
- **References**: Citation URLs (unless `--no-citations`)

Conversations with no name or empty content are automatically skipped.

## Development

```bash
git clone https://github.com/olearydj/claude-json-to-markdown.git
cd claude-json-to-markdown
uv sync
uv run pytest
```

## Limitations

- Project data from exports is not processed (no clear way to link conversations to projects)
- Artifact content is shown as operations (create/update/rewrite) rather than reconstructed final state

## License

MIT

## Links

- [Issues](https://github.com/olearydj/claude-json-to-markdown/issues)
- [PyPI](https://pypi.org/project/claude-json-to-markdown/)
geranslator 2.0.2
Translate your translation files
License: MIT
Requires Python: <3.15,>=3.10
Keywords: translation, translation files, translate

![Logo](https://raw.githubusercontent.com/faissaloux/geranslator/2.x/.github/art/logo.png)

[![Test Python package](https://github.com/faissaloux/geranslator/actions/workflows/tests.yml/badge.svg?branch=2.x)](https://github.com/faissaloux/geranslator/actions/workflows/tests.yml) [![codecov](https://codecov.io/gh/faissaloux/geranslator/branch/2.x/graph/badge.svg)](https://codecov.io/gh/faissaloux/geranslator) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/faissaloux/geranslator/2.x.svg)](https://results.pre-commit.ci/latest/github/faissaloux/geranslator/2.x) ![PyPI](https://img.shields.io/pypi/v/geranslator) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/geranslator) ![PyPI - Status](https://img.shields.io/pypi/status/geranslator)

# Installation
```bash
    pip install geranslator
```
# Configuration
> .geranslator-config.yaml

It's gonna be created for you. 😌

```yaml
geranslator:
  lang_dir: lang
  lang_files_ext: json
  provider: google
  origin_lang: en
  target_langs: [fr, ar]
```
- lang_dir: Where your translation files live.
- lang_files_ext: Your translation files extension.
- provider: Provider you want to translate your file.
- origin_lang: The origin language you already have.
- target_langs: Languages you want your file to get translated to.

> supported extensions: json, yaml, yml, po

> supported providers: google, deepl
# Usage
## CLI
```bash
geranslator
```
### Supported options
| option | short | description |
|---|---|---|
| --provider        | -p | To specify provider.|
| --lang-dir        | -d | To specify translation files directory.|
| --extension       | -e | To specify translation files format.|
| --origin-lang     | -o | To specify the origin language.|
| --target-langs    | -t | To specify target languages.|
```bash
geranslator --provider=deepl --origin-lang=en --target-langs=es,pt
```
```bash
geranslator -p deepl -o en -t es,pt
```
> [!NOTE]
> Keep in mind that default values are on `.geranslator-config.yaml`
## IDE
This will use the configuration as default
```python
    from geranslator import Geranslator

    Geranslator().translate()
```

You can customize it using the following methods. 😃
```python
    from geranslator import Geranslator

    geranslator = Geranslator()
    geranslator.set_provider('google')
    geranslator.set_lang_dir('translation')
    geranslator.set_origin_lang('en')
    geranslator.set_target_lang(['ar', 'fr'])
    geranslator.set_lang_files_extension('json')
    geranslator.translate()
```
You can chain them too 😮
```python
    from geranslator import Geranslator

    Geranslator().set_provider('google').set_lang_dir('translation').set_origin_lang('en').set_target_lang(['ar', 'fr']).set_lang_files_extension('json').translate()
```