Welcome to CSV2Sendyβs Documentationο
CSV2Sendyο
A powerful CSV processor for Sendy.co with Brazilian data format support.
π Featuresο
π Intelligent CSV Processing
Auto-detection of delimiters (
,or;)Multiple encoding support (utf-8-sig, latin1, iso-8859-1, cp1252)
Smart column mapping and normalization
Robust error handling
π§ Email Validation
RFC-compliant email validation
Case normalization
Duplicate removal
Invalid email filtering
π± Phone Number Processing
Brazilian format support
Format standardization
Invalid number filtering
DDD (area code) validation
π€ Name Processing
First/last name splitting
Proper capitalization
Special character handling
Empty name filtering
π Web Interface
File upload and processing
Column mapping
Tag management
CSV download
π Security
Secure file handling
Automatic file cleanup
Input sanitization
File size limits
π¦ 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ο
# Start the web server
python -m csv2sendy.web.app
Visit http://localhost:8080 in your browser.
Python APIο
from csv2sendy.core import CSVProcessor
# Process a CSV file
processor = CSVProcessor()
df = processor.process_file('input.csv')
df.to_csv('output.csv', index=False)
# Process CSV content directly
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 # On Windows: venv\Scripts\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 (
pytestandmypy 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.
API Documentationο
Certificatesο
*.pem *.key *.crt *.cer *.p12 *.pfx
Environment and configο
.env .env.* *.conf config.ini
Credentialsο
.aws/ credentials/ credentials
Core Moduleο
Process CSV files for Sendy compatibility.
Web Moduleο
Web application module for CSV2Sendy.
This module provides a Flask-based web interface for processing CSV files for Sendy.co. It includes routes for file upload, processing, and download with custom column mapping.
- Key Features:
File upload with multiple encoding support
CSV processing with Brazilian data format support
Custom column mapping
Tag addition
Duplicate email removal