Este curso no es compatible. No recibirá más actualizaciones, ni nadie disponible para responder preguntas.

¿Tiene un script, función o incluso un fragmento de código Python que copia de proyecto en proyecto? En lugar de copiar este pedacito de código de Python, ¿alguna vez ha considerado simplemente liberar su código en Python Package Index (PyPI)? De esta forma puede agregar pruebas, documentación e incluso obtener ayuda con su código. Suena maravilloso, ¿verdad?

La desventaja de publicar algo en PyPI es que no es fácil. Hay muchos archivos complejos que entran en un paquete de Python. Aunque está bastante bien documentado, no es fácil e incluso los mejores codificadores de Python a menudo copian / pegan el código repetitivo de un proyecto a otro. Lo hacen porque tratar de trabajar a través de un texto complejo no es tan productivo como crear paquetes nuevos a partir de fragmentos de código existentes.

Este curso es la respuesta para aprender cómo superar rápidamente el problema de la repetición repetitiva. Le presentará una serie de conceptos útiles y una maravillosa herramienta llamada Cookiecutter.

Soporte de código abierto

Las personas detrás de este curso son ávidos miembros de la comunidad de código abierto. Son creadores o mantenedores de numerosos paquetes dentro de los ecosistemas de Python. Su código es utilizado por decenas de miles de desarrolladores de software en todo el mundo.

Al tomar este curso, está ayudando a que los autores continúen trabajando en varios proyectos de código abierto que ayudan a impulsar los ecosistemas modernos de Python. Como puede ver, al unirse a este curso, está apoyando el ecosistema de código abierto que crea y respalda las herramientas que nos brindan empleo hoy en día.

¿Deberías participar?

Si te sientes cómodo escribiendo scripts o programas Python simples, deberías estar bien.

Se recomienda conocer Python después de los conceptos básicos de "Hola mundo". Si nunca antes has hecho un tutorial de Python, probablemente deberías hacer uno y practicar escribir scripts de Python antes de unirte a este curso.

Requisitos previos

Asumimos el siguiente de aquellos que toman este curso:

  • Tiene instalado Python 2.7.x o 3.4 (o superior).
  • Tienes pip y virtualenv instalados. virtualenvwrapper es agradable, pero no obligatorio.
  • Usted sabe cómo escribir el código de Python.
  • Probablemente tenga un fragmento de código que copie de un lugar a otro.

¿Qué vas a hacer durante el curso?

Vas a:

  • Tome un poco de código que haya escrito, ya sea un módulo, función, clase o incluso un fragmento, y conviértalo en un paquete que se cargará en PyPI.
  • Instalar Cookiecutter.
  • Use Cookiecutter para generar una plantilla repetitiva del paquete Python.
  • Pon tu código en el paquete.
  • Agrega dos pruebas útiles.
  • Crea una cuenta en PyPI si aún no tienes una.
  • Cargue su paquete de Python en PyPI.
  • Use pip o conda para verificar si su paquete Python se instala localmente.
  • Agregar pruebas y documentación.
  • Aprende cómo usar la integración continua con Travis y Read the Docs.
  • Comparte con tus amigos y colegas tu paquete de Python.
  • ¡Tener acceso de por vida al curso!


Curso curricular

  • 1

    Bienvenido al curso!

    • Un mensaje de los instructores

  • 2

    1. Planificación

    • 1.1 Elegir el código!

    • 1.2 Nombrar y describir tu nuevo paquete

    • 1.3 Cuestionario: planificación y nombramiento de su paquete

    • 1.4 Encuesta: cuéntenos sobre su paquete de Python planificado

  • 3

    2. Instalación de herramientas y creación de cuentas

    • 2.1 Comprobando su configuración

    • 2.2 Instalando Cookiecutter

    • 2.3 Registrando con PyPI

    • 2.4 Registrando con GitHub

    • 2.5 Cuestionario: sobre su configuración

  • 4

    3. Su primer lanzamiento: ponerlo todo junto

    • 3.1 Crear un paquete Skeleton Python

    • 3.2 Configuración

    • 3.3 Agregar código

    • 3.4 Dependencias

    • 3.5 Build the Docs

    • 3.6 Completar los documentos iniciales

    • 3.7 Liberando su paquete

    • 3.8 Quiz: tu primer lanzamiento

    • 3.9 Encuesta: Cuéntanos sobre tu paquete de Python

  • 5

    4. Su segundo lanzamiento: Obtener los detalles correctos

    • 4.1 Pruebas

    • 4.2 Tox

    • 4.3 Estilo de código

    • 4.4 Integración continua

    • 4.5 Liberar una actualización de paquete

    • 4.6 Dependencia y controles de seguridad

    • 4.7 Quiz: tu segundo lanzamiento

    • 4.8 Encuesta: su segundo lanzamiento

  • 6

    5. Su tercer lanzamiento: polaco y mejora

    • 5.1 Agregar una interfaz de línea de comando (CLI)

    • 5.2 Lea la configuración de documentos

    • 5.3 Cobertura de prueba

    • 5.4 Makefile

    • 5.5 Liberar una actualización de paquete

    • 5.6 Desarrollo adicional

    • 5.7 Quiz: tu tercer lanzamiento

    • 5.8 Encuesta: su tercer lanzamiento

  • 7

    6. Temas avanzados

    • 6.1 Temas avanzados

    • 6.2 Pipenv

    • 6.3 Instalación de versiones antiguas de Python

  • 8

    Preguntas más frecuentes

    • Solución de problemas

Lo que otros dicen sobre la versión en inglés de este curso:

5 star rating

Very well structured educational course on a hot topic

Nick Mavrakis

Although I didn't attend in person but remotely (from Greece), the tutorial material was terrific. Right into the point. I learned best practices (and stil...

Read More

Although I didn't attend in person but remotely (from Greece), the tutorial material was terrific. Right into the point. I learned best practices (and still do), plus the community is amazingly helpful and willing to assist you with any kind of problem. I learned how to upload a package to Python Package Index (PyPI) with best practices. I recommend it to anyone concerning to contribute to the Python community with small/medium/big packages, not only newbies, but advanced users too. Thank you!

Read Less
5 star rating

Great course for packaging a Python project

Diane Chen

I learned so much from this course. I had no idea whatsoever how to make a Python project before taking the course, and I put together a package and publishe...

Read More

I learned so much from this course. I had no idea whatsoever how to make a Python project before taking the course, and I put together a package and published it on PyPI & I'm so proud of myself! It goes through all of the steps to create the package, set up testing & continuous integration with Travis CI, adding you documentation to readthedocs.org, uploading it to PyPI, and all the little details in between.

Read Less
5 star rating

Just love it.

Sagar Giri

This course is the best. It is so detail oriented and even a novice Python programmer can understand the course content and easily execute the steps provided...

Read More

This course is the best. It is so detail oriented and even a novice Python programmer can understand the course content and easily execute the steps provided in the course. I personally learned a lot. Not only about packaging and distribution but also the underlying technology and tools that are required to execute the tasks. Thank you Two Scoops Press for this amazing course.

Read Less

About the instructors

Daniel and Audrey Roy Greenfeld

Daniel and Audrey Roy Greenfeld are co-authors of the Two Scoops of Django: Best Practices for the Django Web Framework books. Together or individually they started numerous popular open source or community projects and have given keynote speeches at conferences on four continents. They met at PyCon US in 2010 and were married in 2013.Fluencies: English, SpanishDaniel has worked for NASA, the US Navy, EventBrite, and leading consulting firms such as Cartwheel Web, Revolution Systems, and Eldarion. He has created or co-created many popular open source projects such as django-crispy-forms, cached-properties, djangopackages.org, and Cookiecutter Django. Audrey has a degree in Electrical Engineering and Computer Science from MIT and has worked for Microsoft, Sharpcast, not to mention leading consulting firms such as Cartwheel Web and Revolution Systems. She has created popular open source projects, such as Cookiecutter, Cookiecutter PyPackage, and Favicon Cheat Sheet. She also co-created djangopackages.org.

Edward Villegas Pulgarin

Soy docente de cátedra de la Universidad EAFIT y de la Universidad de Medellín. Mi formación de pregrado es en Ingeniería física y maestría en Física aplicada, en ambos casos de la Universidad EAFIT. Mis intereses de investigación son la enseñanza de las ciencias, física computacional, física del estado sólido y astrofísica. Soy contribuidor del proyecto RLA-ES del cual se derivan los diccionarios de corrección ortográfica en español de diferentes aplicaciones como LibreOffice, Firefox y Hunspell-ES.Amante de la física y magia del universo. A veces escritor inspirado otras programador empedernido. Divulgador científico, docente, ingeniero y linuxero.https://cosmoscalibur.github.io