edinet-tools


Nameedinet-tools JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryPython package for accessing Japanese corporate financial data from EDINET
upload_time2025-08-23 04:36:01
maintainerNone
docs_urlNone
authorMatt Helmer
requires_python>=3.8
licenseMIT
keywords finance japan edinet financial-data xbrl corporate-filings
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EDINET Tools

> **Access Japanese corporate financial data with confidence**

A Python package for Japan's [EDINET](https://disclosure2.edinet-fsa.go.jp/) disclosure system. Clean API, comprehensive testing, and optional LLM-powered analysis.

## Features

**Company Data**
- Search 11,000+ Japanese companies by name or ticker
- Convert ticker symbols to EDINET codes instantly
- Access official government financial disclosure data

**Document Processing**
- Download EDINET filings programmatically
- Extract structured data from XBRL documents
- Handle Japanese text encoding automatically

**Optional AI Analysis**
- Generate executive summaries from financial documents  
- One-line insights for quick analysis
- Support for Claude, GPT, and other LLM providers

## Installation

Install from PyPI:

```bash
pip install edinet-tools
```

Or install from source:

```bash
git clone https://github.com/matthelmer/edinet-api-tools.git
cd edinet-api-tools
pip install -e .
```

## Quick Start

```python
import edinet_tools

# Search companies
companies = edinet_tools.search_companies("Toyota")
print(companies[0]['name_en'])  # TOYOTA MOTOR CORPORATION

# Convert ticker to EDINET code
edinet_code = edinet_tools.ticker_to_edinet("7203")  # E02144

# Initialize client
client = edinet_tools.EdinetClient()

# Get recent filings
filings = client.get_recent_filings(days_back=7)

# Download and analyze a filing (requires LLM API key)
structured_data = client.download_filing(filings[0]['docID'], extract_data=True)
```

## Configuration

Set up your environment variables:

```bash
export EDINET_API_KEY=your_edinet_key
export ANTHROPIC_API_KEY=your_anthropic_key
export OPENAI_API_KEY=your_openai_key
```

Or create a `.env` file:

```dotenv
EDINET_API_KEY=your_edinet_key

ANTHROPIC_API_KEY=your_anthropic_key
OPENAI_API_KEY=your_openai_api_key

LLM_MODEL=claude-4-sonnet              # Or gpt-5-mini, gpt-4o, etc.
LLM_FALLBACK_MODEL=gpt-5-mini          # Optional fallback

# Azure OpenAI Configuration (optional)
# AZURE_OPENAI_API_KEY=your_azure_openai_api_key
# AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
# AZURE_OPENAI_API_VERSION=your_azure_openai_api_version
# AZURE_OPENAI_DEPLOYMENT=your_azure_openai_deployment_name
```

**API Keys:**
- **EDINET_API_KEY**: Get from [EDINET website](https://disclosure2.edinet-fsa.go.jp/) (free)
- **ANTHROPIC_API_KEY**: For Claude models (claude-4-sonnet, etc.)
- **OPENAI_API_KEY**: For GPT models (gpt-5, gpt-5-mini, etc.)
- **AZURE_OPENAI_API_KEY**: Enterprise LLM option via Microsoft Azure

## Demo

Run the interactive demo to see the package in action:

```bash
python demo.py
```

This demonstrates:
- Company search and ticker resolution
- Live EDINET document processing
- LLM-powered summaries

## Testing

Run the comprehensive test suite:

```bash
python test_runner.py --all         # Full test suite (94 tests)
python test_runner.py --unit        # Unit tests only
python test_runner.py --integration # Integration tests only
python test_runner.py --smoke       # Quick validation
```

## LLM Analysis

Generate insights from financial documents using a LLM:

```python
from edinet_tools.analysis import analyze_document_data

# Executive summary
summary = analyze_document_data(structured_data, 'executive_summary')

# One-line summary
insights = analyze_document_data(structured_data, 'one_line_summary')
```

**Models**: Claude-4-Sonnet, GPT-5-Mini, GPT-4o, and more via the `llm` library.

## Contributing

Contributions welcome. Run tests before submitting:

```bash
python test_runner.py --all
```

## Disclaimer

Independent project, not affiliated with Japan's Financial Services Agency (FSA).

Official EDINET: [disclosure2.edinet-fsa.go.jp](https://disclosure2.edinet-fsa.go.jp/)

Provided "as is" for informational purposes. Verify data independently.

## License

This project is licensed under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "edinet-tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "finance, japan, edinet, financial-data, xbrl, corporate-filings",
    "author": "Matt Helmer",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/07/98/f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496/edinet_tools-0.1.0.tar.gz",
    "platform": null,
    "description": "# EDINET Tools\n\n> **Access Japanese corporate financial data with confidence**\n\nA Python package for Japan's [EDINET](https://disclosure2.edinet-fsa.go.jp/) disclosure system. Clean API, comprehensive testing, and optional LLM-powered analysis.\n\n## Features\n\n**Company Data**\n- Search 11,000+ Japanese companies by name or ticker\n- Convert ticker symbols to EDINET codes instantly\n- Access official government financial disclosure data\n\n**Document Processing**\n- Download EDINET filings programmatically\n- Extract structured data from XBRL documents\n- Handle Japanese text encoding automatically\n\n**Optional AI Analysis**\n- Generate executive summaries from financial documents  \n- One-line insights for quick analysis\n- Support for Claude, GPT, and other LLM providers\n\n## Installation\n\nInstall from PyPI:\n\n```bash\npip install edinet-tools\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/matthelmer/edinet-api-tools.git\ncd edinet-api-tools\npip install -e .\n```\n\n## Quick Start\n\n```python\nimport edinet_tools\n\n# Search companies\ncompanies = edinet_tools.search_companies(\"Toyota\")\nprint(companies[0]['name_en'])  # TOYOTA MOTOR CORPORATION\n\n# Convert ticker to EDINET code\nedinet_code = edinet_tools.ticker_to_edinet(\"7203\")  # E02144\n\n# Initialize client\nclient = edinet_tools.EdinetClient()\n\n# Get recent filings\nfilings = client.get_recent_filings(days_back=7)\n\n# Download and analyze a filing (requires LLM API key)\nstructured_data = client.download_filing(filings[0]['docID'], extract_data=True)\n```\n\n## Configuration\n\nSet up your environment variables:\n\n```bash\nexport EDINET_API_KEY=your_edinet_key\nexport ANTHROPIC_API_KEY=your_anthropic_key\nexport OPENAI_API_KEY=your_openai_key\n```\n\nOr create a `.env` file:\n\n```dotenv\nEDINET_API_KEY=your_edinet_key\n\nANTHROPIC_API_KEY=your_anthropic_key\nOPENAI_API_KEY=your_openai_api_key\n\nLLM_MODEL=claude-4-sonnet              # Or gpt-5-mini, gpt-4o, etc.\nLLM_FALLBACK_MODEL=gpt-5-mini          # Optional fallback\n\n# Azure OpenAI Configuration (optional)\n# AZURE_OPENAI_API_KEY=your_azure_openai_api_key\n# AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint\n# AZURE_OPENAI_API_VERSION=your_azure_openai_api_version\n# AZURE_OPENAI_DEPLOYMENT=your_azure_openai_deployment_name\n```\n\n**API Keys:**\n- **EDINET_API_KEY**: Get from [EDINET website](https://disclosure2.edinet-fsa.go.jp/) (free)\n- **ANTHROPIC_API_KEY**: For Claude models (claude-4-sonnet, etc.)\n- **OPENAI_API_KEY**: For GPT models (gpt-5, gpt-5-mini, etc.)\n- **AZURE_OPENAI_API_KEY**: Enterprise LLM option via Microsoft Azure\n\n## Demo\n\nRun the interactive demo to see the package in action:\n\n```bash\npython demo.py\n```\n\nThis demonstrates:\n- Company search and ticker resolution\n- Live EDINET document processing\n- LLM-powered summaries\n\n## Testing\n\nRun the comprehensive test suite:\n\n```bash\npython test_runner.py --all         # Full test suite (94 tests)\npython test_runner.py --unit        # Unit tests only\npython test_runner.py --integration # Integration tests only\npython test_runner.py --smoke       # Quick validation\n```\n\n## LLM Analysis\n\nGenerate insights from financial documents using a LLM:\n\n```python\nfrom edinet_tools.analysis import analyze_document_data\n\n# Executive summary\nsummary = analyze_document_data(structured_data, 'executive_summary')\n\n# One-line summary\ninsights = analyze_document_data(structured_data, 'one_line_summary')\n```\n\n**Models**: Claude-4-Sonnet, GPT-5-Mini, GPT-4o, and more via the `llm` library.\n\n## Contributing\n\nContributions welcome. Run tests before submitting:\n\n```bash\npython test_runner.py --all\n```\n\n## Disclaimer\n\nIndependent project, not affiliated with Japan's Financial Services Agency (FSA).\n\nOfficial EDINET: [disclosure2.edinet-fsa.go.jp](https://disclosure2.edinet-fsa.go.jp/)\n\nProvided \"as is\" for informational purposes. Verify data independently.\n\n## License\n\nThis project is licensed under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python package for accessing Japanese corporate financial data from EDINET",
    "version": "0.1.0",
    "project_urls": {
        "Bug Reports": "https://github.com/matthelmer/edinet-api-tools/issues",
        "Homepage": "https://github.com/matthelmer/edinet-api-tools",
        "Repository": "https://github.com/matthelmer/edinet-api-tools"
    },
    "split_keywords": [
        "finance",
        " japan",
        " edinet",
        " financial-data",
        " xbrl",
        " corporate-filings"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "766bc9b5cd4002e3583b79ed902496a0e6dbe0eb3cdc127b97c67625a26d8f06",
                "md5": "08abafe934654b996fa94ed65301d693",
                "sha256": "3589ba781a240f900152feae959178d934afd12d39efd28a4f177ef82e46317b"
            },
            "downloads": -1,
            "filename": "edinet_tools-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "08abafe934654b996fa94ed65301d693",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 962657,
            "upload_time": "2025-08-23T04:36:00",
            "upload_time_iso_8601": "2025-08-23T04:36:00.105252Z",
            "url": "https://files.pythonhosted.org/packages/76/6b/c9b5cd4002e3583b79ed902496a0e6dbe0eb3cdc127b97c67625a26d8f06/edinet_tools-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0798f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496",
                "md5": "6ae4919ce7c4962ce077fddb873acbd1",
                "sha256": "9d734a4867c71775019b40fa05f00d36fb58a945bfca17582b0cd7d3b456fd95"
            },
            "downloads": -1,
            "filename": "edinet_tools-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6ae4919ce7c4962ce077fddb873acbd1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 962767,
            "upload_time": "2025-08-23T04:36:01",
            "upload_time_iso_8601": "2025-08-23T04:36:01.968641Z",
            "url": "https://files.pythonhosted.org/packages/07/98/f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496/edinet_tools-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 04:36:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matthelmer",
    "github_project": "edinet-api-tools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "edinet-tools"
}
        
Elapsed time: 0.57108s