From fa584ad5fe009a7ebbc46509763fef64882c0fb2 Mon Sep 17 00:00:00 2001 From: jonathanedey Date: Fri, 13 Jun 2025 17:44:53 -0400 Subject: [PATCH] chore: Migrate from setup.py to pyproject.toml --- pyproject.toml | 45 +++++++++++++++++++++++++++++ setup.py | 77 -------------------------------------------------- 2 files changed, 45 insertions(+), 77 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..e9118d81 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ +[build-system] +requires = ['setuptools >= 77.0.3'] +build-backend = 'setuptools.build_meta' + +[project] +name = 'firebase_admin' +dynamic = ['version'] +description = 'Firebase Admin Python SDK' +readme = 'README.md' +requires-python = '>=3.9' +license = 'Apache-2.0' +keywords = ['firebase', 'cloud', 'development'] +authors = [ { name = 'Firebase' }] +classifiers = [ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'Topic :: Software Development :: Build Tools', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3 :: Only', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', +] + +dependencies = [ + 'cachecontrol>=0.12.14', + 'google-api-core[grpc] >= 1.22.1, < 3.0.0dev; platform.python_implementation != "PyPy"', + 'google-cloud-firestore>=2.19.0; platform.python_implementation != "PyPy"', + 'google-cloud-storage>=1.37.1', + 'pyjwt[crypto] >= 2.5.0', + 'httpx[http2] == 0.28.1', +] + +[project.urls] +'Homepage' = 'https://firebase.google.com/docs/admin/setup/' +'Release Notes' = 'https://firebase.google.com/support/release-notes/admin/python' +'Source' = 'https://github.com/firebase/firebase-admin-python' + +[tool.setuptools] +packages = ['firebase_admin'] + +[tool.setuptools.dynamic] +version = { attr = 'firebase_admin.__about__.__version__' } \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index b9eb1180..00000000 --- a/setup.py +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2017 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Setup file for distribution artifacts.""" -from __future__ import print_function - -from os import path -import sys - -from setuptools import setup - - -(major, minor) = (sys.version_info.major, sys.version_info.minor) -if major != 3 or minor < 7: - print('firebase_admin requires python >= 3.7', file=sys.stderr) - sys.exit(1) - -# Read in the package metadata per recommendations from: -# https://packaging.python.org/guides/single-sourcing-package-version/ -about_path = path.join(path.dirname(path.abspath(__file__)), 'firebase_admin', '__about__.py') -about = {} -with open(about_path) as fp: - exec(fp.read(), about) # pylint: disable=exec-used - - -long_description = ('The Firebase Admin Python SDK enables server-side (backend) Python developers ' - 'to integrate Firebase into their services and applications.') -install_requires = [ - 'cachecontrol>=0.12.14', - 'google-api-core[grpc] >= 1.22.1, < 3.0.0dev; platform.python_implementation != "PyPy"', - 'google-cloud-firestore>=2.19.0; platform.python_implementation != "PyPy"', - 'google-cloud-storage>=1.37.1', - 'pyjwt[crypto] >= 2.5.0', - 'httpx[http2] == 0.28.1', -] - -setup( - name=about['__title__'], - version=about['__version__'], - description='Firebase Admin Python SDK', - long_description=long_description, - url=about['__url__'], - project_urls={ - 'Release Notes': 'https://firebase.google.com/support/release-notes/admin/python', - 'Source': 'https://github.com/firebase/firebase-admin-python', - }, - author=about['__author__'], - license=about['__license__'], - keywords='firebase cloud development', - install_requires=install_requires, - packages=['firebase_admin'], - python_requires='>=3.7', - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Topic :: Software Development :: Build Tools', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Programming Language :: Python :: 3.12', - 'License :: OSI Approved :: Apache Software License', - ], -)