JobsColombia
Tech job scoring and utilities for Colombia.
Description
JobsColombia is a Python library that provides scoring, classification, and utility functions for tech job listings in Colombia.
This library helps you:
- Score job listings based on relevance (technologies, keywords, modality)
- Classify jobs by score ranges
- Identify primary tech stacks from job descriptions
- Export and format job data to CSV
Note: This package does NOT include web scraping. Use any scraper library (like jobs_scraper, linkedin-scraper, or custom solutions) to fetch job data, then use this library to analyze and score them.
Installation
pip install jobscolombia
Or with uv:
uv add jobscolombia
Usage
import pandas as pd
from jobscolombia import calcular_score, clasificar_score
# Score a job listing
score = calcular_score(
title="Senior Python Developer",
description="We need a Python developer with Django, PostgreSQL, and AWS experience",
location="Bogota, Colombia",
company="Tech Corp"
)
# score = 85 (example)
# Classify the score
category = clasificar_score(score)
# category = "Excelente" (score >= 70)
# Score a DataFrame of jobs
df["score"] = df.apply(
lambda r: calcular_score(
str(r.get("title", "")),
str(r.get("description", "")),
str(r.get("location", "")),
),
axis=1,
)
API Reference
Scoring
calcular_score(title, description, location, company)- Calculate job relevance score (0-100)clasificar_score(score)- Classify score into category (Bajo, Regular, Bueno, Excelente)identificar_stack_principal(text)- Identify main tech stack from text
Utilities
columnas_export()- Get standard column names for CSV exportgenerar_nombre_csv(prefix)- Generate timestamped CSV filenameformatear_fecha(date)- Format date for export
Logging
setup_logger(name, log_dir)- Configure logger for the application
See source code for full documentation.
Project Structure
jobscolombia/
├── src/jobscolombia/
│ ├── __init__.py # Package exports
│ ├── scoring.py # Scoring and classification
│ ├── utils.py # Utilities (CSV, dates)
│ ├── logger.py # Logging setup
│ └── config.py # Configuration
├── tests/ # Unit tests
├── pyproject.toml # Project configuration
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── SECURITY.md # Security policy
└── .github/
└── workflows/ # GitHub Actions
Testing
# Run all tests
pytest
# Run with coverage
pytest --cov=src/jobscolombia --cov-report=term-missing
Linting
# Check code
ruff check .
# Format code
ruff format .
Type Checking
# Run mypy
mypy src/jobscolombia --ignore-missing-imports
Security
# Run security audit
safety check
pip-audit
bandit -r src/jobscolombia
Tech Stack
- Python 3.11+ - Main language
- Pandas - Data manipulation
- Ruff - Linting and formatting
- Pytest - Testing framework
License
MIT License - see the LICENSE file for details.
Acknowledgments
- Pandas - Data analysis and manipulation tool
- Ruff - Fast Python linter and formatter
- Pytest - Testing framework
Contributing
Contributions are welcome! Please read our CONTRIBUTING.md file for guidelines.
Metadata
Release files for jobscolombia 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jobscolombia-0.2.0.tar.gz | 32.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jobscolombia-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.7 kB
Release files / jobscolombia-0.2.0.tar.gz
| Download URL | jobscolombia-0.2.0.tar.gz |
|---|---|
| Size | 32.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4aec08095275fe5a9faac697d503d0babe5da548bbd151f999d0b1ff85130983
|
|
BLAKE2b-256 checksum How to use checksums |
d9b40b27881fa0c80fc8005670e8b4f2912a4eb590d5879ef9000a8a812ebfbf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / jobscolombia-0.2.0-py3-none-any.whl
| Download URL | jobscolombia-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
168e46e710dd9553e978c3ef7dc34a3b133fe522d35a45faccfaf4e9ddd69053
|
|
BLAKE2b-256 checksum How to use checksums |
5664aecd6136e503d8792dc367b791e2f4d02c1d79586fba4df2f367d4d96a71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|