# Inbox4us POS Printer Service
A FastAPI-based service for handling ESC/POS printer operations. This service allows you to send base64-encoded images to network printers using the ESC/POS protocol.
## Features
- Send images to network printers
- Support for ESC/POS protocol
- Simple REST API interface
- CORS support
- SSL/TLS support
## Installation
Install using pip:
```bash
pip install inbox4us-pos-printer
```
## Usage
### Basic Usage
```python
from pos_printer import create_app
import uvicorn
app = create_app()
if __name__ == '__main__':
uvicorn.run(
app,
host='0.0.0.0',
port=8100
)
```
### With SSL
```python
from pos_printer import create_app
import uvicorn
app = create_app()
if __name__ == '__main__':
uvicorn.run(
app,
host='0.0.0.0',
port=8100,
ssl_certfile="./ssl/certificate.crt",
ssl_keyfile="./ssl/private.key",
ssl_ca_certs="./ssl/ca_bundle.crt"
)
```
## API Documentation
### POST /print
Send an image to a network printer.
#### Request Body
```json
{
"printer_ip": "192.168.1.100",
"port": 9100,
"data": "base64_encoded_image_data"
}
```
#### Parameters
- `printer_ip` (string, required): IP address of the network printer
- `port` (integer, optional, default: 9100): Printer port
- `data` (string, required): Base64 encoded image data
#### Response
Success:
```json
{
"status": "success"
}
```
Error:
```json
{
"status": "error",
"message": "Error message details"
}
```
## Requirements
- Python >= 3.8
- FastAPI >= 0.68.0
- python-escpos >= 3.0
- Pillow >= 8.0.0
- pydantic >= 1.8.0
## License
MIT License
## Support
For support, please create an issue on the [GitHub repository](https://github.com/Inbox-Team/pos-printer/issues).
Raw data
{
"_id": null,
"home_page": "https://github.com/username/repository",
"name": "inbox4us-pos-printer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "printer, fastapi, escpos, network-printer",
"author": "Daniel",
"author_email": "Inbox4us <engineering@inbox4us.xyz>",
"download_url": "https://files.pythonhosted.org/packages/cf/05/7b8f62de16c2a5c4e39f6e293635bbbf1de6ce1559c491c74795e2c2093c/inbox4us_pos_printer-0.1.4.tar.gz",
"platform": null,
"description": "# Inbox4us POS Printer Service\n\nA FastAPI-based service for handling ESC/POS printer operations. This service allows you to send base64-encoded images to network printers using the ESC/POS protocol.\n\n## Features\n\n- Send images to network printers\n- Support for ESC/POS protocol\n- Simple REST API interface\n- CORS support\n- SSL/TLS support\n\n## Installation\n\nInstall using pip:\n\n```bash\npip install inbox4us-pos-printer\n```\n\n## Usage\n\n### Basic Usage\n\n```python\nfrom pos_printer import create_app\nimport uvicorn\n\napp = create_app()\n\nif __name__ == '__main__':\n uvicorn.run(\n app, \n host='0.0.0.0', \n port=8100\n )\n```\n\n### With SSL\n\n```python\nfrom pos_printer import create_app\nimport uvicorn\n\napp = create_app()\n\nif __name__ == '__main__':\n uvicorn.run(\n app, \n host='0.0.0.0', \n port=8100, \n ssl_certfile=\"./ssl/certificate.crt\",\n ssl_keyfile=\"./ssl/private.key\",\n ssl_ca_certs=\"./ssl/ca_bundle.crt\" \n )\n```\n\n## API Documentation\n\n### POST /print\n\nSend an image to a network printer.\n\n#### Request Body\n\n```json\n{\n \"printer_ip\": \"192.168.1.100\",\n \"port\": 9100,\n \"data\": \"base64_encoded_image_data\"\n}\n```\n\n#### Parameters\n\n- `printer_ip` (string, required): IP address of the network printer\n- `port` (integer, optional, default: 9100): Printer port\n- `data` (string, required): Base64 encoded image data\n\n#### Response\n\nSuccess:\n```json\n{\n \"status\": \"success\"\n}\n```\n\nError:\n```json\n{\n \"status\": \"error\",\n \"message\": \"Error message details\"\n}\n```\n\n## Requirements\n\n- Python >= 3.8\n- FastAPI >= 0.68.0\n- python-escpos >= 3.0\n- Pillow >= 8.0.0\n- pydantic >= 1.8.0\n## License\n\nMIT License\n\n## Support\n\nFor support, please create an issue on the [GitHub repository](https://github.com/Inbox-Team/pos-printer/issues).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Inbox4us POS printer service",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/Inbox-Team/pos-printer",
"Repository": "https://github.com/Inbox-Team/pos-printer.git"
},
"split_keywords": [
"printer",
" fastapi",
" escpos",
" network-printer"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6a4f175915a4991da6cc935affbf7482a9e1b9e76277ace71acfcaf283d85824",
"md5": "0bd65d7087c0d106bfffea6ea1ccceae",
"sha256": "8d64a986d139ee71dfe465e97a6001896c82540b6eac95dcf47d103e7cc2100d"
},
"downloads": -1,
"filename": "inbox4us_pos_printer-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0bd65d7087c0d106bfffea6ea1ccceae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3766,
"upload_time": "2025-07-23T09:44:25",
"upload_time_iso_8601": "2025-07-23T09:44:25.926213Z",
"url": "https://files.pythonhosted.org/packages/6a/4f/175915a4991da6cc935affbf7482a9e1b9e76277ace71acfcaf283d85824/inbox4us_pos_printer-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cf057b8f62de16c2a5c4e39f6e293635bbbf1de6ce1559c491c74795e2c2093c",
"md5": "9b71f3b7fa3be3ddf765ca88dccebe37",
"sha256": "187a835190eaa6d4ab6547b00c23e068631c8a1084ad3f1eea85ff4050ed8b3e"
},
"downloads": -1,
"filename": "inbox4us_pos_printer-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "9b71f3b7fa3be3ddf765ca88dccebe37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4729,
"upload_time": "2025-07-23T09:44:27",
"upload_time_iso_8601": "2025-07-23T09:44:27.153590Z",
"url": "https://files.pythonhosted.org/packages/cf/05/7b8f62de16c2a5c4e39f6e293635bbbf1de6ce1559c491c74795e2c2093c/inbox4us_pos_printer-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-23 09:44:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "username",
"github_project": "repository",
"github_not_found": true,
"lcname": "inbox4us-pos-printer"
}