Metadata-Version: 2.1
Name: OrcidXtract
Version: 0.0.5
Summary: This Python library extracts ORCID information from a file containing ORCID IDs and generates reports in various formats (TXT, PDF, JSON, CSV, Excel).
Home-page: https://github.com/SafialIslam302/ORCID-Information
Author: Safial Islam Ayon
Author-email: safialislam302@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: pandas
Requires-Dist: reportlab~=4.3.1
Requires-Dist: openpyxl
Requires-Dist: pytest
Requires-Dist: coverage
Requires-Dist: typing_extensions

# ORCID Data Extractor and Report Generator

This Python script extracts ORCID information from a file containing ORCID IDs and generates reports in various formats (TXT, PDF, JSON, CSV, Excel).

## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Features](#features)
- [Dependencies](#dependencies)
- [License](#license)
- [Contributions](#contributions)

## Installation

1. To install the `OrcidXtract` library, simply use `pip`:
   ```bash
   pip install OrcidXtract

## Usage

Once the library is installed, you can use it from the command line with the `orcidxtract` command.

### Command-Line Arguments

      orcidxtract --help
   
      Options:
        -h, --help            show this help message and exit
        --inputfile INPUTFILE
                              Path to the input file containing ORCID IDs.
        --orcid_ids [ORCID_IDS ...]
                              List of ORCID IDs (e.g., 0000-0001-...).
        --output-format {txt,pdf,json} [{txt,pdf,json} ...]
                              Specify one or more output formats (txt, pdf, json).
                              Example: --output-format txt pdf json
        --report {csv,excel}  Specify if you want to generate a CSV or Excel report.
                              Example: --report csv

The script accepts the following command-line arguments:

- `--inputfile`: Path to the input file containing ORCID IDs.
- `--orcid_ids`: A list of ORCID IDs (e.g., `0000-0001-5109-3700`).
- `--output-format`: Specify one or more output formats (txt, pdf, json). Example: `--output-format txt pdf json`. 
- `--report`: Specify if you want to generate a CSV or Excel report.

### Example Commands

1. Extract ORCID data and generate TXT, PDF, and JSON reports:
    ```bash
    orcidxtract --inputfile orcid_ids.txt --output-format txt pdf json
2. Extract ORCID data and generate a CSV report:
    ```bash
    orcidxtract --inputfile orcid_ids.txt --output-format txt --report csv
3. Extract ORCID data and generate an Excel report:
    ```bash
    orcidxtract --inputfile orcid_ids.txt --output-format json --report excel
4. Extract ORCID directly from the command lin:
   ```bash
   orcidxtract --orcid_ids xxxx-xxxx-xxxx-xxxx --output-format txt pdf json  --report csv   

### Input File Format

The input file should contain one ORCID ID per line. Example (`orcid_ids.txt`):

    0000-0000-0000-0001
    0000-0000-0000-0002
    0000-0000-0000-0003

### Output Files

The generated reports will be saved in the Result directory. The directory structure will look like this:

    Result
      - 0000-0000-0000-0001.txt
      - 0000-0000-0000-0002.pdf
      - 0000-0000-0000-0003.json
      - orcid_report.csv
      - orcid_report.xlsx

## Features

- **ORCID Data Extraction**: Extracts detailed information from ORCID IDs.
- **Multiple Output Formats**: Supports TXT, PDF, JSON, CSV, and Excel formats.
- **Customizable Reports**: Generate reports based on specific requirements.
- **Error Handling**: Handles missing or invalid data gracefully.

## Dependencies

- **argparse**: For parsing command-line arguments.
- **reportlab**: For generating PDF reports.
- **pandas**: For generating CSV and Excel reports.
- **requests**: For making HTTP requests to ORCID's API.
- **openpyxl**: For working with Excel files.

These dependencies will be automatically installed when you install the package via pip.

## License

This project is licensed under the MIT License. See the [LICENSE]() file for details.

## Contributions

For any questions or issues, please open an issue on the GitHub repository. If you'd like to contribute, please fork the repository and submit a pull request.
