Skip to main content

A handy collection of reusable Django UI components, allowing me to share and integrate elements efficiently across various projects.

Project description

django-my-lib 🚀

PyPI

This project is a test for creating a Django library. 🧩

Installation 📦

You can install the library using pip or poetry:

pip install django-my-lib
# or
poetry add django-my-lib

Configuration ⚙️

Add django_my_lib to the INSTALLED_APPS list in your settings.py:

INSTALLED_APPS = [
    # ... other apps ...
    'django_my_lib',
]

Migrations 🗄️

After installing and configuring, run the following commands:

python manage.py makemigrations
python manage.py migrate

🎉 Done! Your Django library is installed and ready to use.

Running locally as a developer 🖥️

To run the Django project locally during development, follow the steps below:

git clone https://github.com/GustavoRizzo/django-my-lib.git
cd django-my-lib
poetry install
poetry run task run-demo

For a more complete setup, you can run the comands:

poetry run task migrate
poetry run task createsuperuser
# or
poetry run task setup  # that will do the same as above

Tests 🧪

To run the tests, use the command below inside the demo_project directory:

poetry run task test

Linting 🧹

To check for linting issues, use the command below:

poetry run task lint
poetry run task lint-fix  # to fix issues automatically

If using pyenv

To manage Python versions, you can use pyenv. To install pyenv, follow the instructions in the pyenv GitHub repository.

pyenv update
pyenv install 3.12.0
# Activete the virtual environment with the correct Python version
python -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install poetry
poetry install
poetry run task run-demo

Updating and publishing the library 🚢

To update the version, build, and publish your library, use the commands below:

poetry version patch  # to bump the version (e.g.: 0.1.0 → 0.1.1)
poetry build
tar -tzf dist/*.tar.gz | head -20  # to see the files inside the package
poetry publish

Use this project as a template for your own Django library! 🌟

Rename the project and package

To rename the project and package, follow these steps:

  1. On github click on the "Use this template" button to create a new repository based on this template. Give it a new name (e.g., django-awesome-lib).

  2. Inside the project folder, rename the package folder from django_my_lib to your desired name (e.g., django_awesome_lib).

mv django_my_lib django_awesome_lib
  1. Make CTRL+F and replace all occurrences of django_my_lib with django_awesome_lib in the codebase.

  2. Rename template folder: On django_awesome_lib/templates, rename the folder from demo_project to your desired name (e.g., demo_awesome_project).

mv django_awesome_lib/templates/django_my_lib django_awesome_lib/templates/django_awesome_lib
  1. Make CTRL+F and replace all occurrences of django-my-lib with django-awesome-lib in the codebase.

  2. Ajdust the project name in the pyproject.toml file.

[tool.poetry]
name = "django-awesome-lib"
version = "0.1.0"
description = "This project is a test for creating a Django library."
authors = [
    "Your Name <your.email@example.com>"
]
  1. Adjust README.md to reflect the new project name and package name.
# django-awesome-lib 🚀
[![PyPI](https://img.shields.io/pypi/v/django-awesome-lib.svg)](https://pypi.org/project/django-awesome-lib/)
> This my brand new project is a test for creating a Django library. 🧩
  1. Now you are free to start developing your new Django library! 🎉

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_my_lib-0.1.7.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_my_lib-0.1.7-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file django_my_lib-0.1.7.tar.gz.

File metadata

  • Download URL: django_my_lib-0.1.7.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for django_my_lib-0.1.7.tar.gz
Algorithm Hash digest
SHA256 27b33ecb8639cee1cb623206d80c74307a5063d444e4d80bf182e16dd787e88d
MD5 460a9885e29b41a20860423a4fe367cb
BLAKE2b-256 008858793c61ba6f5e9662bcaf1a4930859051a5a1d3d90ac7827525ea53c3d6

See more details on using hashes here.

File details

Details for the file django_my_lib-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: django_my_lib-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for django_my_lib-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 11905aa75a1d59338ed13491089e9099565922421d54bafb662ea109ec670acb
MD5 f7e146ef8a9caf2d82a738849e4d4bf2
BLAKE2b-256 7c9ae570d02d848b40b8507d04f2a6da5c757ae321983f36ae2fa8c5bbdfad1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page