EmilStenstrom / django-components

Create simple reusable template components in Django.
MIT License
953 stars 60 forks source link

Define public API #473

Open JuroOravec opened 2 weeks ago

JuroOravec commented 2 weeks ago

Currently it's not entirely clear what interfaces (files/variables) are part of public API. Before v1.0, it would be also good to clear this up, so we know which things we can change internally, and which need to be maintained.

This project also doesn't have very big surface area, so I think that for now it could be sufficient to expose the "public" parts via src/__init__.py, so it can be imported as

from django_components import bla_bla

The exception to the above are middleware and template tags, which can be used in Django settings and referenced via filepath (e.g. "django_components.templatetags.component_tags"

EmilStenstrom commented 1 week ago

Before deciding on how to expose the public API, let's just start by listing out all the concepts that we expect people to understand to use components in their projects:

Anything else?