isic4kit


Nameisic4kit JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryA Python SDK Library for working with the International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4.
upload_time2025-02-19 15:24:28
maintainerNone
docs_urlNone
authorAbdullah Alqahtani
requires_python<4.0,>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ISIC4Kit

<p align="center">
  <img src="https://github.com/anqorithm/isic4kit/raw/main/assets/logo.svg" width="400" alt="ISIC4Kit Logo">
</p>

![License](https://img.shields.io/badge/License-MIT-yellow.svg)
![Python](https://img.shields.io/badge/Python-≥3.8,<4.0-blue.svg)
![PyPI](https://badge.fury.io/py/isic4kit.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dm/isic4kit)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/isic4kit)
![PyPI - Status](https://img.shields.io/pypi/status/isic4kit)
![Commits](https://img.shields.io/github/last-commit/anqorithm/isic4kit)
![Contributors](https://img.shields.io/github/contributors/anqorithm/isic4kit)
![Coverage](https://img.shields.io/badge/Coverage-64%25-yellow.svg)
![Tests](https://img.shields.io/badge/Tests-36%20passed%2C%200%20failed-brightgreen.svg)
![Pytest](https://img.shields.io/badge/Pytest-passing-brightgreen.svg)
![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)
![Documentation](https://img.shields.io/badge/docs-passing-brightgreen.svg)
![GitHub issues](https://img.shields.io/github/issues/anqorithm/isic4kit)
![GitHub pull requests](https://img.shields.io/github/issues-pr/anqorithm/isic4kit)
![GitHub stars](https://img.shields.io/github/stars/anqorithm/isic4kit)
![GitHub forks](https://img.shields.io/github/forks/anqorithm/isic4kit)
![GitHub release](https://img.shields.io/github/v/release/anqorithm/isic4kit)
![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)

A Python SDK Library for working with the International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4.

## Features

- Search and navigate through the ISIC hierarchical structure
- Support for multiple languages (English, Arabic, and more coming soon)
- Pydantic-based
- Easy to use
- Well-documented
- Tested and maintained
- Lightweight and fast

## Data Structure

### ISIC Hierarchy

ISIC follows a hierarchical structure:

```mermaid
flowchart TD
    Section[Section] --> Division[Division]
    Division --> Group[Group]
    Group --> Class[Class]
    
    Section --> |contains| SectionDesc[Description]
    Division --> |contains| DivisionDesc[Description]
    Group --> |contains| GroupDesc[Description]
    Class --> |contains| ClassDesc[Description]
```

Each level contains:
- **Section**: Highest level (A-U), e.g., "A" for Agriculture
- **Division**: Two-digit code (01-99)
- **Group**: Three-digit code (011-999)
- **Class**: Four-digit code (0111-9999)

### Data Format

The ISIC data is organized in a hierarchical structure:

```python
sections = [
    {
        "section": "A",
        "description": "Agriculture, forestry and fishing",
        "divisions": [
            {
                "division": "01",
                "description": "Crop and animal production",
                "groups": [
                    {
                        "group": "011",
                        "description": "Growing of non-perennial crops",
                        "classes": [
                            {
                                "class": "0111",
                                "description": "Growing of cereals"
                            },
                            # ...
                        ]
                    },
                    # ...
                ]
            },
            # ...
        ]
    },
    # ...
]
```

## Demo

The following is a demo of the SDK library in action.

[![asciicast](https://asciinema.org/a/EIWus3SvaHt71GnjSN0g4KH0u.svg)](https://asciinema.org/a/EIWus3SvaHt71GnjSN0g4KH0u)


## Installation

### Poetry (recommended)
```bash
poetry add isic4kit
```

### pip
```bash
pip install isic4kit
```

## Dependencies

- Python >=3.8, <4.0
- pydantic ^2.10.6
- pytest ^8.3.4

## Usage

### Basic Usage

```python
from isic4kit import ISIC4Classifier

# Initialize classifier (English)
isic_en = ISIC4Classifier(language="en")

# Example 1: Get section (Agriculture)
section = isic_en.get_section("a")
# Access divisions directly
for division in section.divisions:
    print(division.code, division.description)
    # Access groups
    for group in division.groups:
        print(group.code, group.description)
        # Access classes
        for class_ in group.classes:
            print(class_.code, class_.description)
# Or use the tree visualization
section.print_tree()

# Example 2: Get division (Crop and animal production)
division = isic_en.get_division("01")
division.print_tree()

# Example 3: Get group (Growing of non-perennial crops)
group = isic_en.get_group("011")
group.print_tree()

# Example 4: Get class (Growing of cereals)
class_ = isic_en.get_class("0111")
class_.print_tree()
```

### Search Functionality

```python
# Search for activities containing "mining"
results = isic_en.search("mining")
results.print_tree()
```

### Multi-language Support

The classifier supports multiple languages. Here's an example in Arabic:

```python
# Initialize with Arabic language
isic_ar = ISIC4Classifier(language="ar")

# Example 1: Get section (الزراعة)
section_ar = isic_ar.get_section("a")
section_ar.print_tree()

# Example 2: Get division (زراعة المحاصيل والإنتاج الحيواني)
division_ar = isic_ar.get_division("01")
division_ar.print_tree()

# Example 3: Get group (زراعة المحاصيل غير الدائمة)
group_ar = isic_ar.get_group("011")
group_ar.print_tree()

# Example 4: Get class (زراعة الحبوب)
class_ar = isic_ar.get_class("0111")
class_ar.print_tree()

# Example 5: Search in Arabic
search_ar = isic_ar.search("تعدين")
search_ar.print_tree()
```

## Examples

### English Examples

```python
from isic4kit import ISIC4Classifier

# Initialize English classifier
isic_en = ISIC4Classifier(language="en")

# Example 1: Get section (Agriculture)
section_en = isic_en.get_section("a")
section_en.print_tree()
```

Output:
```
└── a: Agriculture, forestry and fishing
    ├── 01: Crop and animal production, hunting and related service activities
    │   ├── 011: Growing of non-perennial crops
    │   │   ├── 0111: Growing of cereals (except rice), leguminous crops and oil seeds
    │   │   ├── 0112: Growing of rice
    │   │   ├── 0113: Growing of vegetables and melons, roots and tubers
    │   │   ├── 0114: Growing of sugar cane
    │   │   ├── 0115: Growing of tobacco
    │   │   ├── 0116: Growing of fibre crops
    │   │   └── 0119: Growing of other non-perennial crops
    │   └── ...
    ├── 02: Forestry and logging
    └── 03: Fishing and aquaculture
```

```python
# Example 2: Get division (Crop and animal production)
division_en = isic_en.get_division("01")
division_en.print_tree()
```

Output:
```
└── 01: Crop and animal production, hunting and related service activities
    ├── 011: Growing of non-perennial crops
    │   ├── 0111: Growing of cereals (except rice), leguminous crops and oil seeds
    │   ├── 0112: Growing of rice
    │   ├── 0113: Growing of vegetables and melons, roots and tubers
    │   ├── 0114: Growing of sugar cane
    │   ├── 0115: Growing of tobacco
    │   ├── 0116: Growing of fibre crops
    │   └── 0119: Growing of other non-perennial crops
    └── ...
```

```python
# Example 3: Get group (Growing of non-perennial crops)
group_en = isic_en.get_group("011")
group_en.print_tree()
```

Output:
```
└── 011: Growing of non-perennial crops
    ├── 0111: Growing of cereals (except rice), leguminous crops and oil seeds
    ├── 0112: Growing of rice
    ├── 0113: Growing of vegetables and melons, roots and tubers
    ├── 0114: Growing of sugar cane
    ├── 0115: Growing of tobacco
    ├── 0116: Growing of fibre crops
    └── 0119: Growing of other non-perennial crops
```

```python
# Example 4: Get class (Growing of cereals)
class_en = isic_en.get_class("0111")
class_en.print_tree()
```

Output:
```
└── 0111: Growing of cereals (except rice), leguminous crops and oil seeds
```

```python
# Example 5: Search in English
search_en = isic_en.search("mining")
search_en.print_tree()
```

Output:
```
├── 05: Mining of coal and lignite
│   ├── 051: Mining of hard coal
│   │   ├── 0510: Mining of hard coal (anthracite)
│   ├── 052: Mining of lignite
│   │   ├── 0520: Mining of lignite
├── 07: Mining of metal ores
│   ├── 071: Mining of iron ores
│   │   ├── 0710: Mining of iron ores
│   ├── 072: Mining of non-ferrous metal ores
│   │   ├── 0721: Mining of uranium and thorium ores
│   │   ├── 0729: Mining of other non-ferrous metal ores
├── 08: Other mining and quarrying
│   ├── 089: Mining and quarrying n.e.c.
│   │   ├── 0891: Mining of chemical and fertilizer minerals
│   │   ├── 0899: Other mining and quarrying n.e.c.
├── 09: Mining support service activities
│   ├── 099: Support activities for other mining and quarrying
│   │   ├── 0990: Support activities for other mining and quarrying
│   │   ├── 2824: Manufacture of machinery for mining, quarrying and construction
```

### Arabic Examples

```python
# Initialize Arabic classifier
isic_ar = ISIC4Classifier(language="ar")

# Example 1: Get section (الزراعة)
section_ar = isic_ar.get_section("a")
section_ar.print_tree()
```

Output:
```
└── a: الزراعة والحراجة وصيد الأسماك
    ├── 01: أنشطة زراعة المحاصيل والإنتاج الحيواني والصيد والخدمات المتصلة
    │   ├── 011: زراعة المحاصيل غير الدائمة
    │   │   ├── 0111: زراعة الحبوب باستثناء الأرز( والمحاصيل البقولية والبذور الزيتية)
    │   │   └── ...
    └── ...
```

```python
# Example 5: Search in Arabic
search_ar = isic_ar.search("تعدين")
search_ar.print_tree()
```

Output:
```
├── 05: تعدين الفحم والليغنيت
│   ├── 051: تعدين الفحم القاسي (الأنفراثيت)
│   │   ├── 0510: تعدين الفحم القاسي (الأنفراثيت)
│   ├── 052: تعدين الليغنيت
│   │   ├── 0520: تعدين الليغنيت
├── 07: تعدين ركازات الفلزات
│   ├── 071: تعدين ركازات الحديد
│   │   ├── 0710: تعدين ركازات الحديد
│   └── ...
└── ...
```

## Supported Languages

- English (en)
- Arabic (ar)
- More languages coming soon...

## Development Setup

```bash
# Clone the repository
git clone https://github.com/anqorithm/isic4kit.git
cd isic4kit

# Install poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install

# Activate virtual environment
poetry shell
```

## Testing

Run the test suite using pytest:

```bash
# Run all tests
poetry run pytest

```
![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/3.png)


## Coverage

The test suite includes unit tests for all classes and methods. The coverage report can be generated using the following command:

```bash
poetry run pytest --cov=isic4kit tests/
```

![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/1.png)

![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/2.png)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Contributors

- [Abdullah Alqahtani](https://github.com/anqorithm)

## References

1. United Nations Statistics Division. (2008). International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4. [English Version](https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_English.pdf)

2. United Nations Statistics Division. (2008). التصنيف الصناعي الدولي الموحد لجميع الأنشطة الاقتصادية، التنقيح 4. [Arabic Version](https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_Arabic.pdf)

3. Ministry of Commerce - Saudi Arabia. (2023). ISIC4 Guide. [Source](https://mc.gov.sa/ar/guides/ISIC4/Pages/default.aspx)

4. Saudi Food and Drug Authority. (2023). Economic Activities Classification. [Source](https://www.sfda.gov.sa/en/economic-activities)

5. General Authority for Statistics - Saudi Arabia. (2023). ISIC4 Classification. [Source](https://www.stats.gov.sa/en/isic4)

## License

[MIT License](LICENSE)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "isic4kit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Abdullah Alqahtani",
    "author_email": "anqorithm@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/06/a9/d8b40ef1d7521ec380d200860ff3d5e40ae76322266d7b75a56991350e72/isic4kit-0.0.3.tar.gz",
    "platform": null,
    "description": "# ISIC4Kit\n\n<p align=\"center\">\n  <img src=\"https://github.com/anqorithm/isic4kit/raw/main/assets/logo.svg\" width=\"400\" alt=\"ISIC4Kit Logo\">\n</p>\n\n![License](https://img.shields.io/badge/License-MIT-yellow.svg)\n![Python](https://img.shields.io/badge/Python-\u22653.8,<4.0-blue.svg)\n![PyPI](https://badge.fury.io/py/isic4kit.svg)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/isic4kit)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/isic4kit)\n![PyPI - Status](https://img.shields.io/pypi/status/isic4kit)\n![Commits](https://img.shields.io/github/last-commit/anqorithm/isic4kit)\n![Contributors](https://img.shields.io/github/contributors/anqorithm/isic4kit)\n![Coverage](https://img.shields.io/badge/Coverage-64%25-yellow.svg)\n![Tests](https://img.shields.io/badge/Tests-36%20passed%2C%200%20failed-brightgreen.svg)\n![Pytest](https://img.shields.io/badge/Pytest-passing-brightgreen.svg)\n![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)\n![Documentation](https://img.shields.io/badge/docs-passing-brightgreen.svg)\n![GitHub issues](https://img.shields.io/github/issues/anqorithm/isic4kit)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/anqorithm/isic4kit)\n![GitHub stars](https://img.shields.io/github/stars/anqorithm/isic4kit)\n![GitHub forks](https://img.shields.io/github/forks/anqorithm/isic4kit)\n![GitHub release](https://img.shields.io/github/v/release/anqorithm/isic4kit)\n![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)\n\nA Python SDK Library for working with the International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4.\n\n## Features\n\n- Search and navigate through the ISIC hierarchical structure\n- Support for multiple languages (English, Arabic, and more coming soon)\n- Pydantic-based\n- Easy to use\n- Well-documented\n- Tested and maintained\n- Lightweight and fast\n\n## Data Structure\n\n### ISIC Hierarchy\n\nISIC follows a hierarchical structure:\n\n```mermaid\nflowchart TD\n    Section[Section] --> Division[Division]\n    Division --> Group[Group]\n    Group --> Class[Class]\n    \n    Section --> |contains| SectionDesc[Description]\n    Division --> |contains| DivisionDesc[Description]\n    Group --> |contains| GroupDesc[Description]\n    Class --> |contains| ClassDesc[Description]\n```\n\nEach level contains:\n- **Section**: Highest level (A-U), e.g., \"A\" for Agriculture\n- **Division**: Two-digit code (01-99)\n- **Group**: Three-digit code (011-999)\n- **Class**: Four-digit code (0111-9999)\n\n### Data Format\n\nThe ISIC data is organized in a hierarchical structure:\n\n```python\nsections = [\n    {\n        \"section\": \"A\",\n        \"description\": \"Agriculture, forestry and fishing\",\n        \"divisions\": [\n            {\n                \"division\": \"01\",\n                \"description\": \"Crop and animal production\",\n                \"groups\": [\n                    {\n                        \"group\": \"011\",\n                        \"description\": \"Growing of non-perennial crops\",\n                        \"classes\": [\n                            {\n                                \"class\": \"0111\",\n                                \"description\": \"Growing of cereals\"\n                            },\n                            # ...\n                        ]\n                    },\n                    # ...\n                ]\n            },\n            # ...\n        ]\n    },\n    # ...\n]\n```\n\n## Demo\n\nThe following is a demo of the SDK library in action.\n\n[![asciicast](https://asciinema.org/a/EIWus3SvaHt71GnjSN0g4KH0u.svg)](https://asciinema.org/a/EIWus3SvaHt71GnjSN0g4KH0u)\n\n\n## Installation\n\n### Poetry (recommended)\n```bash\npoetry add isic4kit\n```\n\n### pip\n```bash\npip install isic4kit\n```\n\n## Dependencies\n\n- Python >=3.8, <4.0\n- pydantic ^2.10.6\n- pytest ^8.3.4\n\n## Usage\n\n### Basic Usage\n\n```python\nfrom isic4kit import ISIC4Classifier\n\n# Initialize classifier (English)\nisic_en = ISIC4Classifier(language=\"en\")\n\n# Example 1: Get section (Agriculture)\nsection = isic_en.get_section(\"a\")\n# Access divisions directly\nfor division in section.divisions:\n    print(division.code, division.description)\n    # Access groups\n    for group in division.groups:\n        print(group.code, group.description)\n        # Access classes\n        for class_ in group.classes:\n            print(class_.code, class_.description)\n# Or use the tree visualization\nsection.print_tree()\n\n# Example 2: Get division (Crop and animal production)\ndivision = isic_en.get_division(\"01\")\ndivision.print_tree()\n\n# Example 3: Get group (Growing of non-perennial crops)\ngroup = isic_en.get_group(\"011\")\ngroup.print_tree()\n\n# Example 4: Get class (Growing of cereals)\nclass_ = isic_en.get_class(\"0111\")\nclass_.print_tree()\n```\n\n### Search Functionality\n\n```python\n# Search for activities containing \"mining\"\nresults = isic_en.search(\"mining\")\nresults.print_tree()\n```\n\n### Multi-language Support\n\nThe classifier supports multiple languages. Here's an example in Arabic:\n\n```python\n# Initialize with Arabic language\nisic_ar = ISIC4Classifier(language=\"ar\")\n\n# Example 1: Get section (\u0627\u0644\u0632\u0631\u0627\u0639\u0629)\nsection_ar = isic_ar.get_section(\"a\")\nsection_ar.print_tree()\n\n# Example 2: Get division (\u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u0645\u062d\u0627\u0635\u064a\u0644 \u0648\u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0627\u0644\u062d\u064a\u0648\u0627\u0646\u064a)\ndivision_ar = isic_ar.get_division(\"01\")\ndivision_ar.print_tree()\n\n# Example 3: Get group (\u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u0645\u062d\u0627\u0635\u064a\u0644 \u063a\u064a\u0631 \u0627\u0644\u062f\u0627\u0626\u0645\u0629)\ngroup_ar = isic_ar.get_group(\"011\")\ngroup_ar.print_tree()\n\n# Example 4: Get class (\u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u062d\u0628\u0648\u0628)\nclass_ar = isic_ar.get_class(\"0111\")\nclass_ar.print_tree()\n\n# Example 5: Search in Arabic\nsearch_ar = isic_ar.search(\"\u062a\u0639\u062f\u064a\u0646\")\nsearch_ar.print_tree()\n```\n\n## Examples\n\n### English Examples\n\n```python\nfrom isic4kit import ISIC4Classifier\n\n# Initialize English classifier\nisic_en = ISIC4Classifier(language=\"en\")\n\n# Example 1: Get section (Agriculture)\nsection_en = isic_en.get_section(\"a\")\nsection_en.print_tree()\n```\n\nOutput:\n```\n\u2514\u2500\u2500 a: Agriculture, forestry and fishing\n    \u251c\u2500\u2500 01: Crop and animal production, hunting and related service activities\n    \u2502   \u251c\u2500\u2500 011: Growing of non-perennial crops\n    \u2502   \u2502   \u251c\u2500\u2500 0111: Growing of cereals (except rice), leguminous crops and oil seeds\n    \u2502   \u2502   \u251c\u2500\u2500 0112: Growing of rice\n    \u2502   \u2502   \u251c\u2500\u2500 0113: Growing of vegetables and melons, roots and tubers\n    \u2502   \u2502   \u251c\u2500\u2500 0114: Growing of sugar cane\n    \u2502   \u2502   \u251c\u2500\u2500 0115: Growing of tobacco\n    \u2502   \u2502   \u251c\u2500\u2500 0116: Growing of fibre crops\n    \u2502   \u2502   \u2514\u2500\u2500 0119: Growing of other non-perennial crops\n    \u2502   \u2514\u2500\u2500 ...\n    \u251c\u2500\u2500 02: Forestry and logging\n    \u2514\u2500\u2500 03: Fishing and aquaculture\n```\n\n```python\n# Example 2: Get division (Crop and animal production)\ndivision_en = isic_en.get_division(\"01\")\ndivision_en.print_tree()\n```\n\nOutput:\n```\n\u2514\u2500\u2500 01: Crop and animal production, hunting and related service activities\n    \u251c\u2500\u2500 011: Growing of non-perennial crops\n    \u2502   \u251c\u2500\u2500 0111: Growing of cereals (except rice), leguminous crops and oil seeds\n    \u2502   \u251c\u2500\u2500 0112: Growing of rice\n    \u2502   \u251c\u2500\u2500 0113: Growing of vegetables and melons, roots and tubers\n    \u2502   \u251c\u2500\u2500 0114: Growing of sugar cane\n    \u2502   \u251c\u2500\u2500 0115: Growing of tobacco\n    \u2502   \u251c\u2500\u2500 0116: Growing of fibre crops\n    \u2502   \u2514\u2500\u2500 0119: Growing of other non-perennial crops\n    \u2514\u2500\u2500 ...\n```\n\n```python\n# Example 3: Get group (Growing of non-perennial crops)\ngroup_en = isic_en.get_group(\"011\")\ngroup_en.print_tree()\n```\n\nOutput:\n```\n\u2514\u2500\u2500 011: Growing of non-perennial crops\n    \u251c\u2500\u2500 0111: Growing of cereals (except rice), leguminous crops and oil seeds\n    \u251c\u2500\u2500 0112: Growing of rice\n    \u251c\u2500\u2500 0113: Growing of vegetables and melons, roots and tubers\n    \u251c\u2500\u2500 0114: Growing of sugar cane\n    \u251c\u2500\u2500 0115: Growing of tobacco\n    \u251c\u2500\u2500 0116: Growing of fibre crops\n    \u2514\u2500\u2500 0119: Growing of other non-perennial crops\n```\n\n```python\n# Example 4: Get class (Growing of cereals)\nclass_en = isic_en.get_class(\"0111\")\nclass_en.print_tree()\n```\n\nOutput:\n```\n\u2514\u2500\u2500 0111: Growing of cereals (except rice), leguminous crops and oil seeds\n```\n\n```python\n# Example 5: Search in English\nsearch_en = isic_en.search(\"mining\")\nsearch_en.print_tree()\n```\n\nOutput:\n```\n\u251c\u2500\u2500 05: Mining of coal and lignite\n\u2502   \u251c\u2500\u2500 051: Mining of hard coal\n\u2502   \u2502   \u251c\u2500\u2500 0510: Mining of hard coal (anthracite)\n\u2502   \u251c\u2500\u2500 052: Mining of lignite\n\u2502   \u2502   \u251c\u2500\u2500 0520: Mining of lignite\n\u251c\u2500\u2500 07: Mining of metal ores\n\u2502   \u251c\u2500\u2500 071: Mining of iron ores\n\u2502   \u2502   \u251c\u2500\u2500 0710: Mining of iron ores\n\u2502   \u251c\u2500\u2500 072: Mining of non-ferrous metal ores\n\u2502   \u2502   \u251c\u2500\u2500 0721: Mining of uranium and thorium ores\n\u2502   \u2502   \u251c\u2500\u2500 0729: Mining of other non-ferrous metal ores\n\u251c\u2500\u2500 08: Other mining and quarrying\n\u2502   \u251c\u2500\u2500 089: Mining and quarrying n.e.c.\n\u2502   \u2502   \u251c\u2500\u2500 0891: Mining of chemical and fertilizer minerals\n\u2502   \u2502   \u251c\u2500\u2500 0899: Other mining and quarrying n.e.c.\n\u251c\u2500\u2500 09: Mining support service activities\n\u2502   \u251c\u2500\u2500 099: Support activities for other mining and quarrying\n\u2502   \u2502   \u251c\u2500\u2500 0990: Support activities for other mining and quarrying\n\u2502   \u2502   \u251c\u2500\u2500 2824: Manufacture of machinery for mining, quarrying and construction\n```\n\n### Arabic Examples\n\n```python\n# Initialize Arabic classifier\nisic_ar = ISIC4Classifier(language=\"ar\")\n\n# Example 1: Get section (\u0627\u0644\u0632\u0631\u0627\u0639\u0629)\nsection_ar = isic_ar.get_section(\"a\")\nsection_ar.print_tree()\n```\n\nOutput:\n```\n\u2514\u2500\u2500 a: \u0627\u0644\u0632\u0631\u0627\u0639\u0629 \u0648\u0627\u0644\u062d\u0631\u0627\u062c\u0629 \u0648\u0635\u064a\u062f \u0627\u0644\u0623\u0633\u0645\u0627\u0643\n    \u251c\u2500\u2500 01: \u0623\u0646\u0634\u0637\u0629 \u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u0645\u062d\u0627\u0635\u064a\u0644 \u0648\u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0627\u0644\u062d\u064a\u0648\u0627\u0646\u064a \u0648\u0627\u0644\u0635\u064a\u062f \u0648\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u0645\u062a\u0635\u0644\u0629\n    \u2502   \u251c\u2500\u2500 011: \u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u0645\u062d\u0627\u0635\u064a\u0644 \u063a\u064a\u0631 \u0627\u0644\u062f\u0627\u0626\u0645\u0629\n    \u2502   \u2502   \u251c\u2500\u2500 0111: \u0632\u0631\u0627\u0639\u0629 \u0627\u0644\u062d\u0628\u0648\u0628 \u0628\u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u0627\u0644\u0623\u0631\u0632( \u0648\u0627\u0644\u0645\u062d\u0627\u0635\u064a\u0644 \u0627\u0644\u0628\u0642\u0648\u0644\u064a\u0629 \u0648\u0627\u0644\u0628\u0630\u0648\u0631 \u0627\u0644\u0632\u064a\u062a\u064a\u0629)\n    \u2502   \u2502   \u2514\u2500\u2500 ...\n    \u2514\u2500\u2500 ...\n```\n\n```python\n# Example 5: Search in Arabic\nsearch_ar = isic_ar.search(\"\u062a\u0639\u062f\u064a\u0646\")\nsearch_ar.print_tree()\n```\n\nOutput:\n```\n\u251c\u2500\u2500 05: \u062a\u0639\u062f\u064a\u0646 \u0627\u0644\u0641\u062d\u0645 \u0648\u0627\u0644\u0644\u064a\u063a\u0646\u064a\u062a\n\u2502   \u251c\u2500\u2500 051: \u062a\u0639\u062f\u064a\u0646 \u0627\u0644\u0641\u062d\u0645 \u0627\u0644\u0642\u0627\u0633\u064a (\u0627\u0644\u0623\u0646\u0641\u0631\u0627\u062b\u064a\u062a)\n\u2502   \u2502   \u251c\u2500\u2500 0510: \u062a\u0639\u062f\u064a\u0646 \u0627\u0644\u0641\u062d\u0645 \u0627\u0644\u0642\u0627\u0633\u064a (\u0627\u0644\u0623\u0646\u0641\u0631\u0627\u062b\u064a\u062a)\n\u2502   \u251c\u2500\u2500 052: \u062a\u0639\u062f\u064a\u0646 \u0627\u0644\u0644\u064a\u063a\u0646\u064a\u062a\n\u2502   \u2502   \u251c\u2500\u2500 0520: \u062a\u0639\u062f\u064a\u0646 \u0627\u0644\u0644\u064a\u063a\u0646\u064a\u062a\n\u251c\u2500\u2500 07: \u062a\u0639\u062f\u064a\u0646 \u0631\u0643\u0627\u0632\u0627\u062a \u0627\u0644\u0641\u0644\u0632\u0627\u062a\n\u2502   \u251c\u2500\u2500 071: \u062a\u0639\u062f\u064a\u0646 \u0631\u0643\u0627\u0632\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u062f\n\u2502   \u2502   \u251c\u2500\u2500 0710: \u062a\u0639\u062f\u064a\u0646 \u0631\u0643\u0627\u0632\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u062f\n\u2502   \u2514\u2500\u2500 ...\n\u2514\u2500\u2500 ...\n```\n\n## Supported Languages\n\n- English (en)\n- Arabic (ar)\n- More languages coming soon...\n\n## Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/anqorithm/isic4kit.git\ncd isic4kit\n\n# Install poetry (if not already installed)\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# Install dependencies\npoetry install\n\n# Activate virtual environment\npoetry shell\n```\n\n## Testing\n\nRun the test suite using pytest:\n\n```bash\n# Run all tests\npoetry run pytest\n\n```\n![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/3.png)\n\n\n## Coverage\n\nThe test suite includes unit tests for all classes and methods. The coverage report can be generated using the following command:\n\n```bash\npoetry run pytest --cov=isic4kit tests/\n```\n\n![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/1.png)\n\n![Coverage](https://github.com/anqorithm/isic4kit/raw/main/assets/2.png)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Contributors\n\n- [Abdullah Alqahtani](https://github.com/anqorithm)\n\n## References\n\n1. United Nations Statistics Division. (2008). International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4. [English Version](https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_English.pdf)\n\n2. United Nations Statistics Division. (2008). \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0635\u0646\u0627\u0639\u064a \u0627\u0644\u062f\u0648\u0644\u064a \u0627\u0644\u0645\u0648\u062d\u062f \u0644\u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u0646\u0634\u0637\u0629 \u0627\u0644\u0627\u0642\u062a\u0635\u0627\u062f\u064a\u0629\u060c \u0627\u0644\u062a\u0646\u0642\u064a\u062d 4. [Arabic Version](https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_Arabic.pdf)\n\n3. Ministry of Commerce - Saudi Arabia. (2023). ISIC4 Guide. [Source](https://mc.gov.sa/ar/guides/ISIC4/Pages/default.aspx)\n\n4. Saudi Food and Drug Authority. (2023). Economic Activities Classification. [Source](https://www.sfda.gov.sa/en/economic-activities)\n\n5. General Authority for Statistics - Saudi Arabia. (2023). ISIC4 Classification. [Source](https://www.stats.gov.sa/en/isic4)\n\n## License\n\n[MIT License](LICENSE)",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python SDK Library for working with the International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4.",
    "version": "0.0.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ccc08a7c82ad9f94c022dac66fae430e719494747b1ecfd29f57009181e0e7e8",
                "md5": "96a485419dc9534eb67b05303bd3ea63",
                "sha256": "57deaa84ff1f8ff2b5bb45438d7af56e04da010a689bff73abf85b514b59966c"
            },
            "downloads": -1,
            "filename": "isic4kit-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "96a485419dc9534eb67b05303bd3ea63",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 36334,
            "upload_time": "2025-02-19T15:24:26",
            "upload_time_iso_8601": "2025-02-19T15:24:26.399689Z",
            "url": "https://files.pythonhosted.org/packages/cc/c0/8a7c82ad9f94c022dac66fae430e719494747b1ecfd29f57009181e0e7e8/isic4kit-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06a9d8b40ef1d7521ec380d200860ff3d5e40ae76322266d7b75a56991350e72",
                "md5": "60b7e72d62094bf1d86494829c84ca3d",
                "sha256": "2b985bb326e4de92212855b5ed1f4d713f7455d0fa809e439cc32229108d44ba"
            },
            "downloads": -1,
            "filename": "isic4kit-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "60b7e72d62094bf1d86494829c84ca3d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 37687,
            "upload_time": "2025-02-19T15:24:28",
            "upload_time_iso_8601": "2025-02-19T15:24:28.115894Z",
            "url": "https://files.pythonhosted.org/packages/06/a9/d8b40ef1d7521ec380d200860ff3d5e40ae76322266d7b75a56991350e72/isic4kit-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-19 15:24:28",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "isic4kit"
}
        
Elapsed time: 0.71707s