Print@SoC - Smart Printing for NUS SoC - Python CLI wrapper for desktop application
Project description
EasyPaper
Paper Management Platform for VLDB - Python CLI wrapper
EasyPaper is a desktop application for managing academic papers and author information. This Python package provides a convenient command-line interface to download and launch the application.
Features
- Import and manage academic papers from Excel
- Track author profiles and affiliations
- Visualize paper metadata and statistics
- Export organized datasets with custom formatting
- Cross-platform desktop application (macOS, Windows, Linux)
- Simple one-command installation via pip
Installation
Quick Install
pip install EasyPaper
Platform Support
- macOS: Apple Silicon (ARM64) and Intel (x86_64)
- Windows: x64
- Linux: x64
Usage
Launch the Application
Simply run:
EasyPaper
On first run, the application binary will be automatically downloaded (~50-150 MB depending on platform). The binary is stored in ~/.EasyPaper/ for future use.
Command-Line Options
# Show help
EasyPaper --help
# Show version
EasyPaper --version
# Force reinstall the binary
EasyPaper --install
# Show binary installation path
EasyPaper --path
How It Works
This Python package is a lightweight wrapper (~50 KB) that:
- Detects your operating system and architecture
- Downloads the appropriate pre-built binary from GitHub Releases (only on first run)
- Launches the desktop application
The actual application is built with:
- Frontend: React + TypeScript
- Backend: Tauri (Rust)
- UI: Ant Design + Fluent UI
Development
Project Structure
EasyPaper/
├── app/ # Tauri desktop application
│ ├── src/ # React frontend
│ └── src-tauri/ # Rust backend
└── python-pip/ # Python CLI wrapper
├── easy_paper/
│ ├── __init__.py
│ ├── cli.py # CLI entry point
│ ├── config.py # Configuration
│ └── downloader.py # Binary downloader
└── pyproject.toml
Building from Source
To build the desktop application from source:
cd app
npm install
npm run tauri:build
Publishing to PyPI
cd python-pip
# Build the package
python -m build
# Upload to PyPI
twine upload dist/*
Requirements
- Python 3.8+
- Internet connection (for initial binary download)
Configuration
The package stores data in:
- Binary:
~/.EasyPaper/bin/ - Version:
~/.EasyPaper/version.txt
Troubleshooting
Download Issues
If download fails, try:
EasyPaper --install
Permission Issues (Linux/macOS)
If the binary is not executable:
chmod +x ~/.EasyPaper/bin/EasyPaper
Manual Installation
You can also download binaries directly from GitHub Releases.
License
MIT License - see LICENSE file for details
Author
Silan Hu
- Email: silan.hu@u.nus.edu
- GitHub: @Qingbolan
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgments
Built with:
- Tauri - Desktop application framework
- React - UI library
- Ant Design - UI components
- Fluent UI - Microsoft design system
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file print_at_soc-0.1.0.tar.gz.
File metadata
- Download URL: print_at_soc-0.1.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89dc8ed4c3e700c6aa6b004c947988bb27fb09f50dbab678f515ff1b4a9608c4
|
|
| MD5 |
4d4968bcac85fb58a8449245ab8f34d5
|
|
| BLAKE2b-256 |
105192ab5b86ac2ed9c4ca08e89aa571bbea4bf0f00eb1278146f9ac71df3b57
|
File details
Details for the file print_at_soc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: print_at_soc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2cab3c843565b1db6dec19faac9f74aa5a37888e377ad854db3924fb973242f
|
|
| MD5 |
0bee6c11f7cb8ddecfe688976cafce36
|
|
| BLAKE2b-256 |
218abdd557cfd333cf90fcfee81df5f784c091b335ed7e3d0849fb0107354d4b
|