CSV2Sendy
🌟 Features
📦 Installation
Using pip
pip install csv2sendy
From source
git clone https://github.com/skaisser/csv2sendy.git
cd csv2sendy
pip install -e ".[dev]"
🚀 Quick Start
Web Interface
python -m csv2sendy.web.app
Visit http://localhost:8080 in your browser.
Command Line Interface (CLI)
csv2sendy
csv2sendy 3000
csv2sendy --help
The CLI provides a convenient way to start the web interface. By default, it starts the server on port 8080, but you can specify a different port as a command-line argument.
Python API
from csv2sendy.core import CSVProcessor
processor = CSVProcessor()
df = processor.process_file('input.csv')
df.to_csv('output.csv', index=False)
content = '''name,email,phone
John Doe,john@example.com,(11) 98765-4321'''
df = processor.process_file(content)
💻 Development
Setup
- Clone the repository:
git clone https://github.com/skaisser/csv2sendy.git
cd csv2sendy
- Create a virtual environment:
python -m venv venv
source venv/bin/activate
- Install development dependencies:
pip install -e ".[dev,test,doc]"
Testing
Run tests with coverage:
pytest --cov=csv2sendy tests/
Run type checking:
mypy csv2sendy
Documentation
Build documentation:
cd docs
make html
🔧 Dependencies
- Python 3.9
- pandas >= 1.3.0
- email-validator >= 1.1.0
- flask >= 2.0.0
- werkzeug >= 2.0.0
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Install development dependencies (
pip install -e ".[dev,test,doc]"
) - Make your changes
- Run tests and type checking (
pytest
and mypy csv2sendy
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 Author
Shirleyson Kaisser