telemetry.py 1001 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. """Anonymous telemetry for Pynecone."""
  2. import multiprocessing
  3. import platform
  4. import psutil
  5. from pynecone import constants
  6. from pynecone.base import Base
  7. class Telemetry(Base):
  8. """Anonymous telemetry for Pynecone."""
  9. user_os: str = ""
  10. cpu_count: int = 0
  11. memory: int = 0
  12. pynecone_version: str = ""
  13. python_version: str = ""
  14. def get_os(self) -> None:
  15. """Get the operating system."""
  16. self.user_os = platform.system()
  17. def get_python_version(self) -> None:
  18. """Get the Python version."""
  19. self.python_version = platform.python_version()
  20. def get_pynecone_version(self) -> None:
  21. """Get the Pynecone version."""
  22. self.pynecone_version = constants.VERSION
  23. def get_cpu_count(self) -> None:
  24. """Get the number of CPUs."""
  25. self.cpu_count = multiprocessing.cpu_count()
  26. def get_memory(self) -> None:
  27. """Get the total memory in MB."""
  28. self.memory = psutil.virtual_memory().total >> 20