Metadata-Version: 2.4
Name: pandacite
Version: 0.1.0
Summary: A Python-based citation manager
Author-email: "Dr. Pritam Kumar Panda" <pritam@stanford.edu>
License: MIT
Project-URL: Homepage, https://github.com/pritampanda15/pandacite
Project-URL: Issues, https://github.com/pritampanda15/pandacite/issues
Keywords: citation,manager,docx,reference,mendeley,endnote
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
License-File: LICENSE
Requires-Dist: aiohappyeyeballs==2.6.1
Requires-Dist: aiohttp==3.11.18
Requires-Dist: aiosignal==1.3.2
Requires-Dist: asyncio==3.4.3
Requires-Dist: attrs==25.3.0
Requires-Dist: beautifulsoup4==4.13.4
Requires-Dist: certifi==2025.4.26
Requires-Dist: charset-normalizer==3.4.2
Requires-Dist: colorama==0.4.6
Requires-Dist: disutils==1.4.32.post2
Requires-Dist: frozenlist==1.6.0
Requires-Dist: idna==3.10
Requires-Dist: lxml==5.4.0
Requires-Dist: multidict==6.4.3
Requires-Dist: prompt_toolkit==3.0.51
Requires-Dist: propcache==0.3.1
Requires-Dist: python-docx==1.1.2
Requires-Dist: requests==2.32.3
Requires-Dist: setuptools==80.3.1
Requires-Dist: soupsieve==2.7
Requires-Dist: typing_extensions==4.13.2
Requires-Dist: urllib3==2.4.0
Requires-Dist: wcwidth==0.2.13
Requires-Dist: yarl==1.20.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: black; extra == "dev"
Dynamic: license-file

<div align="center">
    <img src="https://raw.githubusercontent.com/pritampanda15/pandacite/main/logo/pandacite.png" width="500" alt="PandaCite Logo" />
  <p><em>A Python-based citation manager for researchers & writers </em></p>

  <!-- Badges -->
<p align="center">
  <a href="https://pypi.org/project/pandacite/">
    <img src="https://img.shields.io/pypi/v/pandacite.svg" alt="PyPI Version">
  </a>
  <a href="https://github.com/pritampanda15/PandaCite/blob/main/LICENSE">
    <img src="https://img.shields.io/github/license/pritampanda15/PandaCite" alt="License">
  </a>
  <a href="https://github.com/pritampanda15/PandaCite/stargazers">
    <img src="https://img.shields.io/github/stars/pritampanda15/PandaCite?style=social" alt="GitHub Stars">
  </a>
  <a href="https://github.com/pritampanda15/PandaCite/issues">
    <img src="https://img.shields.io/github/issues/pritampanda15/PandaCite" alt="GitHub Issues">
  </a>
  <a href="https://github.com/pritampanda15/PandaCite/network/members">
    <img src="https://img.shields.io/github/forks/pritampanda15/PandaCite?style=social" alt="GitHub Forks">
  </a>
  <a href="https://pepy.tech/project/pandacite">
    <img src="https://static.pepy.tech/badge/pandacite" alt="Downloads">
  </a>
</p>
</div>
---

## 🚀 Features

- 🔍 Generate citations from `DOI`, `PMID`, `arXiv`, `ISBN`, `URLs`, and more
- 🖋 Supports **20+ popular citation styles**: APA, Nature, Science, IEEE, Chicago, etc.
- 📄 Automatically process and update citations in Microsoft Word documents (`.docx`)
- 🔢 Full support for **numbered** and **author-year** styles
- 🧠 Interactive CLI & programmable Python API

---

## 📦 Installation

```bash
pip install pandacite
````

---

## 💻 Command Line Usage

### ➤ Generate a single citation

```bash
pandacite single --id "https://doi.org/10.1126/sciadv.abb8097" --format nature
```

### ➤ Process citations in a Word document

```bash
pandacite word --input manuscript.docx --output manuscript_with_citations.docx --format ieee
```

### ➤ Interactive Mode

```bash
pandacite interactive
```

<details>
<summary>📘 CLI Help</summary>

```bash
usage: pandacite [-h] {single,batch,word,interactive} ...

positional arguments:
  {single,batch,word,interactive}
    single        Generate a single citation
    batch         Process multiple citations
    word          Process Word documents
    interactive   Run in interactive mode

optional arguments:
  -h, --help      Show this help message and exit
```

</details>

---

## 🧬 Python API

```python
from pandacite import EnhancedCitationManager

# Create citation manager instance
manager = EnhancedCitationManager()

# Generate a citation
citation = manager.process_single_citation("doi", "10.1038/s41586-020-2649-2", "nature")
print(citation)
```

---

## 🎨 Supported Citation Styles

```python
from pandacite.formatters import (
    APAFormatter, NatureFormatter, ScienceFormatter, IEEEFormatter, 
    ChicagoFormatter, MLAFormatter, HarvardFormatter, VancouverFormatter,
    ElsevierFormatter, SpringerFormatter, BMCFormatter, PLOSFormatter, 
    CellFormatter, JAMAFormatter, BMJFormatter, NEJMFormatter, 
    JBCFormatter, RSCFormatter, ACSFormatter, AIPFormatter, 
    ACMFormatter, OxfordFormatter
)
```

---

## 📥 Supported Parsers

```python
from pandacite.parsers import (
    DOIParser, PMIDParser, ArXivParser, ISBNParser, 
    URLParser, BibTexParser, RISParser
)
```

---

## 🧠 Interactive Demo

A guided command-line session to generate citations with autocompletion and help built-in.

```bash
pandacite interactive
```

---

## 📄 License

This project is licensed under the [MIT License](LICENSE).

---

<div align="center">
  <em>Built for researchers, writers, and academics who deserve frictionless citations. 🐼</em>
</div>
