config.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. """Config constants."""
  2. from pathlib import Path
  3. from types import SimpleNamespace
  4. from reflex.constants.base import Dirs, Reflex
  5. from .compiler import Ext
  6. # Alembic migrations
  7. ALEMBIC_CONFIG = "alembic.ini"
  8. class Config(SimpleNamespace):
  9. """Config constants."""
  10. # The name of the reflex config module.
  11. MODULE = "rxconfig"
  12. # The python config file.
  13. FILE = Path(f"{MODULE}{Ext.PY}")
  14. class Expiration(SimpleNamespace):
  15. """Expiration constants."""
  16. # Token expiration time in seconds
  17. TOKEN = 60 * 60
  18. # Maximum time in milliseconds that a state can be locked for exclusive access.
  19. LOCK = 10000
  20. # The PING timeout
  21. PING = 120
  22. # The maximum time in milliseconds to hold a lock before throwing a warning.
  23. LOCK_WARNING_THRESHOLD = 1000
  24. class GitIgnore(SimpleNamespace):
  25. """Gitignore constants."""
  26. # The gitignore file.
  27. FILE = Path(".gitignore")
  28. # Files to gitignore.
  29. DEFAULTS = {
  30. Dirs.WEB,
  31. Dirs.STATES,
  32. "*.db",
  33. "__pycache__/",
  34. "*.py[cod]",
  35. "assets/external/",
  36. }
  37. class RequirementsTxt(SimpleNamespace):
  38. """Requirements.txt constants."""
  39. # The requirements.txt file.
  40. FILE = "requirements.txt"
  41. # The partial text used to form requirement that pins a reflex version
  42. DEFAULTS_STUB = f"{Reflex.MODULE_NAME}=="
  43. class DefaultPorts(SimpleNamespace):
  44. """Default port constants."""
  45. FRONTEND_PORT = 3000
  46. BACKEND_PORT = 8000
  47. # The deployment URL.
  48. PRODUCTION_BACKEND_URL = "https://{username}-{app_name}.api.pynecone.app"