Name | enahopy JSON |
Version |
0.1.2
JSON |
| download |
home_page | https://github.com/elpapx/enahopy |
Summary | Libreria Python para analisis de microdatos ENAHO del INEI Peru |
upload_time | 2025-08-22 15:13:03 |
maintainer | None |
docs_url | None |
author | Alonso Camacho Abadie |
requires_python | >=3.8 |
license | MIT License
Copyright (c) 2025 Alonso Camacho
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
enaho
peru
inei
survey
microdata
encuesta
hogares
estadistica
analisis
|
VCS |
 |
bugtrack_url |
|
requirements |
pandas
numpy
requests
urllib3
tqdm
pathlib2
pyreadstat
dask
matplotlib
seaborn
plotly
scipy
scikit-learn
missingno
statsmodels
openpyxl
xlsxwriter
geopandas
fiona
shapely
contextily
folium
jupyter
jupyterlab
notebook
ipywidgets
pytest
pytest-cov
pytest-mock
black
flake8
isort
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ENAHOPY 🇵🇪
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
**Librería integral para análisis de microdatos del INEI (Perú)**
Herramienta completa y robusta para descargar, procesar, analizar y visualizar microdatos de encuestas nacionales peruanas como ENAHO. Diseñada específicamente para investigadores, instituciones públicas y profesionales del análisis social en Perú.
## Características Principales
- **Descarga Automática**: Descarga directa desde servidores oficiales del INEI
- **Multi-formato**: Compatible con DTA (Stata), SAV (SPSS), CSV, Parquet
- **Validación Inteligente**: Validación automática de columnas y mapeo de variables
- **Fusión de Módulos**: Sistema avanzado para combinar módulos ENAHO
- **Análisis Geográfico**: Integración con datos georreferenciados y ubigeos
- **️Análisis de Valores Nulos**: Detección de patrones y estrategias de imputación
- **Sistema de Cache**: Optimización automática de descargas repetidas
- **Alto Rendimiento**: Procesamiento paralelo para archivos grandes
- **Visualizaciones**: Gráficos especializados para datos de encuestas sociales
- **Reportes Automáticos**: Generación de reportes en múltiples formatos
## 📦 Instalación
### Instalación básica
```bash
pip install enahopy
```
## 🎯 Uso Rápido
### Descarga y lectura de datos ENAHO
```python
from enahopy.loader import download_enaho_data, read_enaho_file
# Descargar módulo específico
download_enaho_data(year=2023, modules=['01'], data_dir='datos_enaho')
# Leer archivo descargado
df_hogar = read_enaho_file('datos_enaho/2023/Enaho01-2023-200.dta')
print(f"Registros cargados: {len(df_hogar):,}")
```
### Fusión de módulos
```python
from enahopy.merger import merge_enaho_modules
# Combinar módulo de hogar con personas
df_combined = merge_enaho_modules(
modules=['01', '02'], # Hogar + Personas
year=2023,
level='persona'
)
```
### Análisis geográfico
```python
from enahopy.merger import merge_with_geography
# Agregar información geográfica
df_geo = merge_with_geography(
df_combined,
nivel='departamento',
incluir_ubigeo=True
)
```
### Análisis de valores nulos
```python
from enahopy.null_analysis import ENAHONullAnalyzer
# Análisis completo de missing values
analyzer = ENAHONullAnalyzer(complexity='advanced')
result = analyzer.analyze(df_combined)
# Visualizar patrones
analyzer.plot_missing_patterns(save_path='missing_analysis.png')
# Generar reporte
analyzer.export_report(result, 'reporte_nulos.html')
```
## 🏗️ Arquitectura del Paquete
```
enaho_py/
├── loader/ # Descarga y lectura de datos
│ ├── core/ # Configuración y excepciones
│ ├── io/ # Readers y downloaders
│ └── utils/ # Utilidades y shortcuts
├── merger/ # Fusión de módulos y geografía
│ ├── geographic/ # Manejo de datos geográficos
│ ├── modules/ # Fusión entre módulos ENAHO
│ └── strategies/ # Estrategias de fusión
└── null_analysis/ # Análisis de valores faltantes
├── core/ # Motor de análisis
├── patterns/ # Detección de patrones
├── imputation/ # Estrategias de imputación
└── reports/ # Generación de reportes
```
## 📊 Casos de Uso Típicos
### 1. Análisis de Pobreza Nacional
```python
from enaho_analyzer import ENAHOAnalyzer
# Inicializar analizador
enaho = ENAHOAnalyzer(year=2023)
# Cargar módulos necesarios
df = enaho.load_modules(['01', '02', '34']) # Hogar, personas, ingresos
# Calcular indicadores de pobreza
poverty_stats = enaho.calculate_poverty_indicators(df)
print(poverty_stats.summary())
```
### 2. Análisis Regional Comparativo
```python
# Análisis por departamentos
regional_analysis = enaho.analyze_by_region(
df,
indicators=['poverty_rate', 'gini_coefficient'],
level='departamento'
)
# Visualizar resultados
regional_analysis.plot_map(indicator='poverty_rate')
```
### 3. Tendencias Temporales
```python
# Análisis multi-año
trends = enaho.analyze_trends(
years=range(2019, 2024),
modules=['01', '02'],
indicators=['poverty', 'education', 'health']
)
trends.plot_evolution()
```
## 🔧 Configuración Avanzada
```python
from enaho_analyzer.loader.core import ENAHOConfig
# Configuración personalizada
config = ENAHOConfig(
cache_dir='mi_cache',
max_workers=8,
chunk_size=50000,
enable_validation=True
)
# Usar configuración en análisis
enaho = ENAHOAnalyzer(config=config)
```
## 📚 Ejemplos Prácticos
El repositorio incluye notebooks con ejemplos completos:
- [📊 Análisis de Pobreza Básico](examples/analisis_pobreza.ipynb)
- [🗺️ Mapeo de Indicadores Sociales](examples/mapeo_indicadores.ipynb)
- [🔗 Fusión Avanzada de Módulos](examples/fusion_modulos.ipynb)
- [🕳️ Tratamiento de Valores Faltantes](examples/missing_values.ipynb)
## 🤝 Contribuir
¡Las contribuciones son bienvenidas! Ver [CONTRIBUTING.md](CONTRIBUTING.md) para detalles.
### Proceso de desarrollo:
```bash
# Clonar repositorio
git clone https://github.com/elpapx/enahopy
cd enaho-analyzer
# Instalar en modo desarrollo
pip install -e .[dev]
# Ejecutar tests
pytest
# Verificar estilo de código
black .
flake8 .
```
## 📈 Roadmap
- [ ] Soporte para ENDES (Encuesta Demográfica y de Salud Familiar)
- [ ] Integración con ENAPRES (Encuesta Nacional de Programas Presupuestales Estratégicos)
- [ ] API REST para servicios web
- [ ] Dashboard interactivo con Streamlit
- [ ] Integración con R a través de reticulate
- [ ] Soporte para análisis longitudinal (paneles)
## 📄 Licencia
Este proyecto está bajo la Licencia MIT - ver [LICENSE](LICENSE) para detalles.
## 📞 Soporte
- 📧 Email: pcamacho447@gmail.com
- 🐛 Issues: [GitHub Issues](https://github.com/tu-usuario/enaho-analyzer/issues)
- 📖 Documentación: [enaho-analyzer.readthedocs.io](https://enaho-analyzer.readthedocs.io/)
- 💬 Discusiones: [GitHub Discussions](https://github.com/tu-usuario/enaho-analyzer/discussions)
## 🙏 Agradecimientos
- Instituto Nacional de Estadística e Informática (INEI) por la disponibilización de microdatos
- Comunidad científica peruana por feedback y contribuciones
- Contribuidores del proyecto y usuarios beta
---
**Desarrollado con ❤️ para la comunidad de investigación social en Perú**
[](https://en.wikipedia.org/wiki/Peru)
Raw data
{
"_id": null,
"home_page": "https://github.com/elpapx/enahopy",
"name": "enahopy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "enaho, peru, inei, survey, microdata, encuesta, hogares, estadistica, analisis",
"author": "Alonso Camacho Abadie",
"author_email": "Paul Camacho <pcamacho447@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d5/db/5082e843c16a208cf227adca80adcd3690e6690db0c1d1f02c249908d559/enahopy-0.1.2.tar.gz",
"platform": null,
"description": "# ENAHOPY \ud83c\uddf5\ud83c\uddea\r\n\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\n\r\n**Librer\u00eda integral para an\u00e1lisis de microdatos del INEI (Per\u00fa)**\r\n\r\nHerramienta completa y robusta para descargar, procesar, analizar y visualizar microdatos de encuestas nacionales peruanas como ENAHO. Dise\u00f1ada espec\u00edficamente para investigadores, instituciones p\u00fablicas y profesionales del an\u00e1lisis social en Per\u00fa.\r\n\r\n## Caracter\u00edsticas Principales\r\n\r\n- **Descarga Autom\u00e1tica**: Descarga directa desde servidores oficiales del INEI\r\n- **Multi-formato**: Compatible con DTA (Stata), SAV (SPSS), CSV, Parquet\r\n- **Validaci\u00f3n Inteligente**: Validaci\u00f3n autom\u00e1tica de columnas y mapeo de variables\r\n- **Fusi\u00f3n de M\u00f3dulos**: Sistema avanzado para combinar m\u00f3dulos ENAHO\r\n- **An\u00e1lisis Geogr\u00e1fico**: Integraci\u00f3n con datos georreferenciados y ubigeos\r\n- **\ufe0fAn\u00e1lisis de Valores Nulos**: Detecci\u00f3n de patrones y estrategias de imputaci\u00f3n\r\n- **Sistema de Cache**: Optimizaci\u00f3n autom\u00e1tica de descargas repetidas\r\n- **Alto Rendimiento**: Procesamiento paralelo para archivos grandes\r\n- **Visualizaciones**: Gr\u00e1ficos especializados para datos de encuestas sociales\r\n- **Reportes Autom\u00e1ticos**: Generaci\u00f3n de reportes en m\u00faltiples formatos\r\n\r\n## \ud83d\udce6 Instalaci\u00f3n\r\n\r\n### Instalaci\u00f3n b\u00e1sica\r\n```bash\r\npip install enahopy\r\n```\r\n\r\n## \ud83c\udfaf Uso R\u00e1pido\r\n\r\n### Descarga y lectura de datos ENAHO\r\n\r\n```python\r\nfrom enahopy.loader import download_enaho_data, read_enaho_file\r\n\r\n# Descargar m\u00f3dulo espec\u00edfico\r\ndownload_enaho_data(year=2023, modules=['01'], data_dir='datos_enaho')\r\n\r\n# Leer archivo descargado\r\ndf_hogar = read_enaho_file('datos_enaho/2023/Enaho01-2023-200.dta')\r\nprint(f\"Registros cargados: {len(df_hogar):,}\")\r\n```\r\n\r\n### Fusi\u00f3n de m\u00f3dulos\r\n\r\n```python\r\nfrom enahopy.merger import merge_enaho_modules\r\n\r\n# Combinar m\u00f3dulo de hogar con personas\r\ndf_combined = merge_enaho_modules(\r\n modules=['01', '02'], # Hogar + Personas\r\n year=2023,\r\n level='persona'\r\n)\r\n```\r\n\r\n### An\u00e1lisis geogr\u00e1fico\r\n\r\n```python\r\nfrom enahopy.merger import merge_with_geography\r\n\r\n# Agregar informaci\u00f3n geogr\u00e1fica\r\ndf_geo = merge_with_geography(\r\n df_combined,\r\n nivel='departamento',\r\n incluir_ubigeo=True\r\n)\r\n```\r\n\r\n### An\u00e1lisis de valores nulos\r\n\r\n```python\r\nfrom enahopy.null_analysis import ENAHONullAnalyzer\r\n\r\n# An\u00e1lisis completo de missing values\r\nanalyzer = ENAHONullAnalyzer(complexity='advanced')\r\nresult = analyzer.analyze(df_combined)\r\n\r\n# Visualizar patrones\r\nanalyzer.plot_missing_patterns(save_path='missing_analysis.png')\r\n\r\n# Generar reporte\r\nanalyzer.export_report(result, 'reporte_nulos.html')\r\n```\r\n\r\n## \ud83c\udfd7\ufe0f Arquitectura del Paquete\r\n\r\n```\r\nenaho_py/\r\n\u251c\u2500\u2500 loader/ # Descarga y lectura de datos\r\n\u2502 \u251c\u2500\u2500 core/ # Configuraci\u00f3n y excepciones\r\n\u2502 \u251c\u2500\u2500 io/ # Readers y downloaders\r\n\u2502 \u2514\u2500\u2500 utils/ # Utilidades y shortcuts\r\n\u251c\u2500\u2500 merger/ # Fusi\u00f3n de m\u00f3dulos y geograf\u00eda\r\n\u2502 \u251c\u2500\u2500 geographic/ # Manejo de datos geogr\u00e1ficos\r\n\u2502 \u251c\u2500\u2500 modules/ # Fusi\u00f3n entre m\u00f3dulos ENAHO\r\n\u2502 \u2514\u2500\u2500 strategies/ # Estrategias de fusi\u00f3n\r\n\u2514\u2500\u2500 null_analysis/ # An\u00e1lisis de valores faltantes\r\n \u251c\u2500\u2500 core/ # Motor de an\u00e1lisis\r\n \u251c\u2500\u2500 patterns/ # Detecci\u00f3n de patrones\r\n \u251c\u2500\u2500 imputation/ # Estrategias de imputaci\u00f3n\r\n \u2514\u2500\u2500 reports/ # Generaci\u00f3n de reportes\r\n```\r\n\r\n## \ud83d\udcca Casos de Uso T\u00edpicos\r\n\r\n### 1. An\u00e1lisis de Pobreza Nacional\r\n```python\r\nfrom enaho_analyzer import ENAHOAnalyzer\r\n\r\n# Inicializar analizador\r\nenaho = ENAHOAnalyzer(year=2023)\r\n\r\n# Cargar m\u00f3dulos necesarios\r\ndf = enaho.load_modules(['01', '02', '34']) # Hogar, personas, ingresos\r\n\r\n# Calcular indicadores de pobreza\r\npoverty_stats = enaho.calculate_poverty_indicators(df)\r\nprint(poverty_stats.summary())\r\n```\r\n\r\n### 2. An\u00e1lisis Regional Comparativo\r\n```python\r\n# An\u00e1lisis por departamentos\r\nregional_analysis = enaho.analyze_by_region(\r\n df, \r\n indicators=['poverty_rate', 'gini_coefficient'],\r\n level='departamento'\r\n)\r\n\r\n# Visualizar resultados\r\nregional_analysis.plot_map(indicator='poverty_rate')\r\n```\r\n\r\n### 3. Tendencias Temporales\r\n```python\r\n# An\u00e1lisis multi-a\u00f1o\r\ntrends = enaho.analyze_trends(\r\n years=range(2019, 2024),\r\n modules=['01', '02'],\r\n indicators=['poverty', 'education', 'health']\r\n)\r\n\r\ntrends.plot_evolution()\r\n```\r\n\r\n## \ud83d\udd27 Configuraci\u00f3n Avanzada\r\n\r\n```python\r\nfrom enaho_analyzer.loader.core import ENAHOConfig\r\n\r\n# Configuraci\u00f3n personalizada\r\nconfig = ENAHOConfig(\r\n cache_dir='mi_cache',\r\n max_workers=8,\r\n chunk_size=50000,\r\n enable_validation=True\r\n)\r\n\r\n# Usar configuraci\u00f3n en an\u00e1lisis\r\nenaho = ENAHOAnalyzer(config=config)\r\n```\r\n\r\n## \ud83d\udcda Ejemplos Pr\u00e1cticos\r\n\r\nEl repositorio incluye notebooks con ejemplos completos:\r\n\r\n- [\ud83d\udcca An\u00e1lisis de Pobreza B\u00e1sico](examples/analisis_pobreza.ipynb)\r\n- [\ud83d\uddfa\ufe0f Mapeo de Indicadores Sociales](examples/mapeo_indicadores.ipynb)\r\n- [\ud83d\udd17 Fusi\u00f3n Avanzada de M\u00f3dulos](examples/fusion_modulos.ipynb)\r\n- [\ud83d\udd73\ufe0f Tratamiento de Valores Faltantes](examples/missing_values.ipynb)\r\n\r\n## \ud83e\udd1d Contribuir\r\n\r\n\u00a1Las contribuciones son bienvenidas! Ver [CONTRIBUTING.md](CONTRIBUTING.md) para detalles.\r\n\r\n### Proceso de desarrollo:\r\n```bash\r\n# Clonar repositorio\r\ngit clone https://github.com/elpapx/enahopy\r\ncd enaho-analyzer\r\n\r\n# Instalar en modo desarrollo\r\npip install -e .[dev]\r\n\r\n# Ejecutar tests\r\npytest\r\n\r\n# Verificar estilo de c\u00f3digo\r\nblack .\r\nflake8 .\r\n```\r\n\r\n## \ud83d\udcc8 Roadmap\r\n\r\n- [ ] Soporte para ENDES (Encuesta Demogr\u00e1fica y de Salud Familiar)\r\n- [ ] Integraci\u00f3n con ENAPRES (Encuesta Nacional de Programas Presupuestales Estrat\u00e9gicos)\r\n- [ ] API REST para servicios web\r\n- [ ] Dashboard interactivo con Streamlit\r\n- [ ] Integraci\u00f3n con R a trav\u00e9s de reticulate\r\n- [ ] Soporte para an\u00e1lisis longitudinal (paneles)\r\n\r\n## \ud83d\udcc4 Licencia\r\n\r\nEste proyecto est\u00e1 bajo la Licencia MIT - ver [LICENSE](LICENSE) para detalles.\r\n\r\n## \ud83d\udcde Soporte\r\n\r\n- \ud83d\udce7 Email: pcamacho447@gmail.com\r\n- \ud83d\udc1b Issues: [GitHub Issues](https://github.com/tu-usuario/enaho-analyzer/issues)\r\n- \ud83d\udcd6 Documentaci\u00f3n: [enaho-analyzer.readthedocs.io](https://enaho-analyzer.readthedocs.io/)\r\n- \ud83d\udcac Discusiones: [GitHub Discussions](https://github.com/tu-usuario/enaho-analyzer/discussions)\r\n\r\n## \ud83d\ude4f Agradecimientos\r\n\r\n- Instituto Nacional de Estad\u00edstica e Inform\u00e1tica (INEI) por la disponibilizaci\u00f3n de microdatos\r\n- Comunidad cient\u00edfica peruana por feedback y contribuciones\r\n- Contribuidores del proyecto y usuarios beta\r\n\r\n---\r\n\r\n**Desarrollado con \u2764\ufe0f para la comunidad de investigaci\u00f3n social en Per\u00fa**\r\n\r\n[](https://en.wikipedia.org/wiki/Peru)\r\n",
"bugtrack_url": null,
"license": "MIT License\r\n \r\n Copyright (c) 2025 Alonso Camacho\r\n \r\n Permission is hereby granted, free of charge, to any person obtaining a copy\r\n of this software and associated documentation files (the \"Software\"), to deal\r\n in the Software without restriction, including without limitation the rights\r\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n copies of the Software, and to permit persons to whom the Software is\r\n furnished to do so, subject to the following conditions:\r\n \r\n The above copyright notice and this permission notice shall be included in all\r\n copies or substantial portions of the Software.\r\n \r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n SOFTWARE.\r\n ",
"summary": "Libreria Python para analisis de microdatos ENAHO del INEI Peru",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/elpapx/enahopy",
"Issues": "https://github.com/elpapx/enahopy/issues",
"Repository": "https://github.com/elpapx/enahopy"
},
"split_keywords": [
"enaho",
" peru",
" inei",
" survey",
" microdata",
" encuesta",
" hogares",
" estadistica",
" analisis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9bf6ac5fb151d67c4f20ae358747136a0048d42e31586ef75a8f796f96322fc9",
"md5": "32ab000e618a427a3f6f9dc593b8870a",
"sha256": "e9dff8d04006d9b8e0b2d15de2facb74daf82675485d8507fa810d49b7db2555"
},
"downloads": -1,
"filename": "enahopy-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32ab000e618a427a3f6f9dc593b8870a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 156295,
"upload_time": "2025-08-22T15:13:01",
"upload_time_iso_8601": "2025-08-22T15:13:01.745822Z",
"url": "https://files.pythonhosted.org/packages/9b/f6/ac5fb151d67c4f20ae358747136a0048d42e31586ef75a8f796f96322fc9/enahopy-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d5db5082e843c16a208cf227adca80adcd3690e6690db0c1d1f02c249908d559",
"md5": "2eb5156e85b13e028f03ebca623a2fc7",
"sha256": "b9b32fe08337145998ecc5cb5579bcfb650caa111bd47a4dd5247a1befefeb82"
},
"downloads": -1,
"filename": "enahopy-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "2eb5156e85b13e028f03ebca623a2fc7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 147831,
"upload_time": "2025-08-22T15:13:03",
"upload_time_iso_8601": "2025-08-22T15:13:03.470737Z",
"url": "https://files.pythonhosted.org/packages/d5/db/5082e843c16a208cf227adca80adcd3690e6690db0c1d1f02c249908d559/enahopy-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 15:13:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "elpapx",
"github_project": "enahopy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pandas",
"specs": [
[
">=",
"1.3.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"<",
"2.0.0"
],
[
">=",
"1.20.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
">=",
"1.26.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "tqdm",
"specs": [
[
">=",
"4.60.0"
],
[
"<",
"5.0.0"
]
]
},
{
"name": "pathlib2",
"specs": [
[
">=",
"2.3.0"
]
]
},
{
"name": "pyreadstat",
"specs": [
[
">=",
"1.1.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "dask",
"specs": [
[
">=",
"2021.0.0"
],
[
"<",
"2024.0.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"<",
"4.0.0"
],
[
">=",
"3.3.0"
]
]
},
{
"name": "seaborn",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.11.0"
]
]
},
{
"name": "plotly",
"specs": [
[
"<",
"6.0.0"
],
[
">=",
"5.0.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.7.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
">=",
"1.0.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "missingno",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.5.0"
]
]
},
{
"name": "statsmodels",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.12.0"
]
]
},
{
"name": "openpyxl",
"specs": [
[
">=",
"3.0.0"
],
[
"<",
"4.0.0"
]
]
},
{
"name": "xlsxwriter",
"specs": [
[
">=",
"3.0.0"
],
[
"<",
"4.0.0"
]
]
},
{
"name": "geopandas",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.10.0"
]
]
},
{
"name": "fiona",
"specs": [
[
">=",
"1.8.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "shapely",
"specs": [
[
">=",
"1.8.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "contextily",
"specs": [
[
">=",
"1.2.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "folium",
"specs": [
[
"<",
"1.0.0"
],
[
">=",
"0.12.0"
]
]
},
{
"name": "jupyter",
"specs": [
[
">=",
"1.0.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "jupyterlab",
"specs": [
[
">=",
"3.0.0"
],
[
"<",
"5.0.0"
]
]
},
{
"name": "notebook",
"specs": [
[
"<",
"8.0.0"
],
[
">=",
"6.4.0"
]
]
},
{
"name": "ipywidgets",
"specs": [
[
">=",
"7.6.0"
],
[
"<",
"9.0.0"
]
]
},
{
"name": "pytest",
"specs": [
[
"<",
"8.0.0"
],
[
">=",
"6.0.0"
]
]
},
{
"name": "pytest-cov",
"specs": [
[
"<",
"5.0.0"
],
[
">=",
"2.10.0"
]
]
},
{
"name": "pytest-mock",
"specs": [
[
">=",
"3.6.0"
],
[
"<",
"4.0.0"
]
]
},
{
"name": "black",
"specs": [
[
">=",
"21.0.0"
],
[
"<",
"24.0.0"
]
]
},
{
"name": "flake8",
"specs": [
[
">=",
"3.9.0"
],
[
"<",
"7.0.0"
]
]
},
{
"name": "isort",
"specs": [
[
"<",
"6.0.0"
],
[
">=",
"5.9.0"
]
]
}
],
"lcname": "enahopy"
}