Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-tweepy for openSUSE:Factory 
checked in at 2025-07-03 12:10:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tweepy (Old)
 and      /work/SRC/openSUSE:Factory/.python-tweepy.new.1903 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tweepy"

Thu Jul  3 12:10:44 2025 rev:18 rq:1290022 version:4.16.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tweepy/python-tweepy.changes      
2025-01-28 15:00:46.482017086 +0100
+++ /work/SRC/openSUSE:Factory/.python-tweepy.new.1903/python-tweepy.changes    
2025-07-03 12:13:10.364470843 +0200
@@ -1,0 +2,23 @@
+Wed Jul  2 11:45:55 UTC 2025 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to 4.16.0
+  * Re-improve clarity of OAuth 2.0 User Context example code
+  * Fix SyntaxWarning
+  * Install 'build'
+  * Bump version number to 4.15.0
+  * Docs config updates to fix build
+  * Fix Sphinx context injection removal by readthedocs
+  * Revert hoverxref upgrade for now until sphinx can be updated
+  * Fix build error for docs related to 'html_context' setting
+  * Modernize packaging configuration
+  * Add new publish workflow to use trusted publisher
+  * Add dev and test dependencies
+  * Update publish workflow...
+  * Add support for posting tweets to Communities
+  * Update .gitignore
+  * Release 4.16.0
+- Drop fix-package-version.patch, merged upstream
+- Update BuildRequires from pyproject.toml
+- Use Python 3.11 on SLE-15 by default
+
+-------------------------------------------------------------------

Old:
----
  fix-package-version.patch
  v4.15.0.tar.gz

New:
----
  v4.16.0.tar.gz

----------(Old B)----------
  Old:  * Release 4.16.0
- Drop fix-package-version.patch, merged upstream
- Update BuildRequires from pyproject.toml
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-tweepy.spec ++++++
--- /var/tmp/diff_new_pack.2QIhTB/_old  2025-07-03 12:13:11.052499659 +0200
+++ /var/tmp/diff_new_pack.2QIhTB/_new  2025-07-03 12:13:11.056499826 +0200
@@ -16,17 +16,17 @@
 #
 
 
+%{?sle15_python_module_pythons}
 Name:           python-tweepy
-Version:        4.15.0
+Version:        4.16.0
 Release:        0
 Summary:        Twitter library for python
 License:        MIT
 URL:            https://github.com/tweepy/tweepy
 Source:         https://github.com/tweepy/tweepy/archive/v%{version}.tar.gz
-# PATCH-FIX-UPSTREAM: Bump version number to 4.15.0
-Patch:          
https://github.com/tweepy/tweepy/commit/c1eb4f3f7bfaf5a54db73ae28f7395e8cbf01752.patch#/fix-package-version.patch
 BuildRequires:  %{python_module aiohttp}
 BuildRequires:  %{python_module async-lru}
+BuildRequires:  %{python_module flit-core}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module requests >= 2.27.0}

++++++ v4.15.0.tar.gz -> v4.16.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/.github/workflows/deploy.yml 
new/tweepy-4.16.0/.github/workflows/deploy.yml
--- old/tweepy-4.15.0/.github/workflows/deploy.yml      2025-01-15 
22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/.github/workflows/deploy.yml      1970-01-01 
01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-name: Deploy
-
-on:
-  release:
-    types: [published]
-  workflow_dispatch:
-
-jobs:
-  deploy:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-      - name: Setup Python
-        uses: actions/setup-python@v5
-        with:
-          python-version: '3.x'
-      - name: Install dependencies
-        run: |
-          python -m pip install --upgrade pip
-          pip install twine wheel
-      - name: Build and publish
-        env:
-          TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
-          TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
-        run: |
-          python -m build
-          twine upload dist/*
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/.github/workflows/publish.yml 
new/tweepy-4.16.0/.github/workflows/publish.yml
--- old/tweepy-4.15.0/.github/workflows/publish.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/tweepy-4.16.0/.github/workflows/publish.yml     2025-06-22 
03:10:14.000000000 +0200
@@ -0,0 +1,95 @@
+name: Build and Publish Tweepy to PyPI
+
+on:
+  push:
+    tags:
+      - "v*.*.*"
+
+jobs:
+  build:
+    name: Build distribution
+    runs-on: ubuntu-latest
+
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
+      - name: Setup Python
+        uses: actions/setup-python@v5
+        with:
+          python-version: "3.x"
+      - name: Install pypa/build
+        run: >-
+          python3 -m
+          pip install
+          build
+          --user
+      - name: Build a wheel and source tarball
+        run: python3 -m build
+      - name: Upload distribution to artifacts
+        uses: actions/upload-artifact@v4
+        with:
+          name: tweepy-package-distributions
+          path: dist/
+
+  publish-to-pypi:
+    name: Upload distribution to PyPI
+    if: github.repository_owner == 'tweepy'
+    needs:
+      - build
+    runs-on: ubuntu-latest
+
+    environment:
+      name: pypi
+      url: https://pypi.org/p/tweepy
+
+    permissions:
+      id-token: write
+
+    steps:
+      - name: Download distribution from artifact store
+        uses: actions/download-artifact@v4
+        with:
+          name: tweepy-package-distributions
+          path: dist/
+      - name: Publish to PyPI
+        uses: pypa/gh-action-pypi-publish@release/v1
+
+  github-release:
+    name: Sign distribution and create the Github release
+    needs:
+      - publish-to-pypi
+    runs-on: ubuntu-latest
+
+    permissions:
+      contents: write
+      id-token: write
+
+    steps:
+      - name: Download distribution from artifact store
+        uses: actions/download-artifact@v4
+        with:
+          name: tweepy-package-distributions
+          path: dist/
+      - name: Sign distribution with Sigstore
+        uses: sigstore/gh-action-sigstore-python@v3.0.0
+        with:
+          inputs: >-
+            ./dist/*.tar.gz
+            ./dist/*.whl
+      - name: Create Github release
+        env:
+          GITHUB_TOKEN: ${{ github.token }}
+        run: >-
+          gh release create
+          "$GITHUB_REF_NAME"
+          --repo "$GITHUB_REPOSITORY"
+          --notes ""
+      - name: Upload to Github release
+        env:
+          GITHUB_TOKEN: ${{ github.token }}
+        run: >-
+          gh release upload
+          "$GITHUB_REF_NAME" dist/**
+          --repo "$GITHUB_REPOSITORY"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/.gitignore new/tweepy-4.16.0/.gitignore
--- old/tweepy-4.15.0/.gitignore        2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/.gitignore        2025-06-22 03:10:14.000000000 +0200
@@ -123,3 +123,8 @@
 tags
 
 # End of https://www.gitignore.io/api/vim,python
+
+# vscode
+.vscode
+# Mac OS
+.DS_Store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/.readthedocs.yaml 
new/tweepy-4.16.0/.readthedocs.yaml
--- old/tweepy-4.15.0/.readthedocs.yaml 2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/.readthedocs.yaml 2025-06-22 03:10:14.000000000 +0200
@@ -1,5 +1,10 @@
 version: 2
 
+build:
+  os: ubuntu-22.04
+  tools:
+    python: "3.12"
+
 python:
   install:
     - method: pip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/MANIFEST.in 
new/tweepy-4.16.0/MANIFEST.in
--- old/tweepy-4.15.0/MANIFEST.in       2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/MANIFEST.in       1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-include requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tweepy-4.15.0/cassettes/test_client_create_tweet_with_community.yaml 
new/tweepy-4.16.0/cassettes/test_client_create_tweet_with_community.yaml
--- old/tweepy-4.15.0/cassettes/test_client_create_tweet_with_community.yaml    
1970-01-01 01:00:00.000000000 +0100
+++ new/tweepy-4.16.0/cassettes/test_client_create_tweet_with_community.yaml    
2025-06-22 03:10:14.000000000 +0200
@@ -0,0 +1,61 @@
+interactions:
+    - request:
+          body: '{"text": "Test tweet in community", "community_id": 
"123456789"}'
+          headers:
+              Accept:
+                  - "*/*"
+              Accept-Encoding:
+                  - gzip, deflate
+              Connection:
+                  - keep-alive
+              Content-Length:
+                  - "64"
+              Content-Type:
+                  - application/json
+              User-Agent:
+                  - Python/3.13.1 Requests/2.31.0 Tweepy/4.15.0
+          method: POST
+          uri: https://api.twitter.com/2/tweets
+      response:
+          body:
+              string: '{"data":{"id":"1234567890","text":"Test tweet in 
community","community_id":"123456789"}}'
+          headers:
+              api-version:
+                  - "2.28"
+              cache-control:
+                  - no-cache, no-store, max-age=0
+              content-disposition:
+                  - attachment; filename=json.json
+              content-length:
+                  - "82"
+              content-type:
+                  - application/json; charset=utf-8
+              date:
+                  - Wed, 10 Feb 2024 11:38:39 UTC
+              location:
+                  - https://api.twitter.com/2/tweets/1234567890
+              server:
+                  - tsa_b
+              strict-transport-security:
+                  - max-age=631138519
+              x-access-level:
+                  - write
+              x-connection-hash:
+                  - 
f86af2f37d975724d196465ae7a8bb5b420f7b2bb1b541276f76c3fe0569779e
+              x-content-type-options:
+                  - nosniff
+              x-frame-options:
+                  - SAMEORIGIN
+              x-rate-limit-limit:
+                  - "200"
+              x-rate-limit-remaining:
+                  - "199"
+              x-rate-limit-reset:
+                  - "1635976418"
+              x-response-time:
+                  - "226"
+              x-xss-protection:
+                  - "0"
+          status:
+              code: 201
+              message: Created
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/docs/authentication.rst 
new/tweepy-4.16.0/docs/authentication.rst
--- old/tweepy-4.15.0/docs/authentication.rst   2025-01-15 22:05:34.000000000 
+0100
+++ new/tweepy-4.16.0/docs/authentication.rst   2025-06-22 03:10:14.000000000 
+0200
@@ -156,7 +156,7 @@
 
 You can then pass the access token to :class:`Client` when initializing it::
 
-    client = tweepy.Client("Access Token here")
+    client = tweepy.Client(access_token)
 
 3-legged OAuth
 ==============
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/docs/changelog.md 
new/tweepy-4.16.0/docs/changelog.md
--- old/tweepy-4.15.0/docs/changelog.md 2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/docs/changelog.md 2025-06-22 03:10:14.000000000 +0200
@@ -3,6 +3,11 @@
 
 These changelogs are also at <https://github.com/tweepy/tweepy/releases> as 
release notes.
 
+Unreleased
+----------
+### New Features / Improvements
+- Add support for posting tweets to Communities via `community_id` parameter 
in `Client.create_tweet`
+
 Version 4.15.0 (2025-01-15)
 ---------------------------
 - Fix error "No module named 'imghdr'" due to removed package in Python 3.13+
@@ -1209,3 +1214,7 @@
 Version 1.0 (2009-08-13)
 ------------------------
 
<https://github.com/tweepy/tweepy/commits/e62f8c18977fd755c9d24a0abebd3b8087c75b45>
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/docs/conf.py 
new/tweepy-4.16.0/docs/conf.py
--- old/tweepy-4.15.0/docs/conf.py      2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/docs/conf.py      2025-06-22 03:10:14.000000000 +0200
@@ -20,6 +20,15 @@
 sys.path.append(os.path.abspath('.'))
 sys.path.append(os.path.abspath('..'))
 
+# Set canonical URL from the Read the Docs Domain
+html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "")
+
+html_context = {}
+
+# Tell Jinja2 templates the build is running on Read the Docs
+if os.environ.get("READTHEDOCS", "") == "True":
+    html_context["READTHEDOCS"] = True
+
 # -- General configuration 
-----------------------------------------------------
 
 # Add any Sphinx extension module names here, as strings. They can be 
extensions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/examples/API_v2/create_tweet.py 
new/tweepy-4.16.0/examples/API_v2/create_tweet.py
--- old/tweepy-4.15.0/examples/API_v2/create_tweet.py   2025-01-15 
22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/examples/API_v2/create_tweet.py   2025-06-22 
03:10:14.000000000 +0200
@@ -22,7 +22,16 @@
 # Make sure to reauthorize your app / regenerate your access token and secret 
 # after setting the Write permission
 
+# Example 1: Create a regular Tweet
 response = client.create_tweet(
     text="This Tweet was Tweeted using Tweepy and Twitter API v2!"
 )
 print(f"https://twitter.com/user/status/{response.data['id']}")
+
+# Example 2: Create a Tweet in a Community
+# Note: The authenticated user must be a member of the Community
+# response = client.create_tweet(
+#     text="This Tweet was posted in a Community using Tweepy and Twitter API 
v2!",
+#     community_id="INSERT_COMMUNITY_ID_HERE"
+# )
+# print(f"https://twitter.com/user/status/{response.data['id']}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/pyproject.toml 
new/tweepy-4.16.0/pyproject.toml
--- old/tweepy-4.15.0/pyproject.toml    2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/pyproject.toml    2025-06-22 03:10:14.000000000 +0200
@@ -1,4 +1,61 @@
+[project]
+name = "tweepy"
+keywords = ["X.com", "API", "Twitter"]
+description = "Library for accessing the X API (Twitter)"
+readme = "README.md"
+requires-python = ">=3.9"
+license.text = "MIT"
+
+authors = [
+  {name = "Joshua Roesslein"},
+  {name = "Harmon"},
+]
+
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Topic :: Software Development :: Libraries",
+    "License :: OSI Approved :: MIT License",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python",
+    "Programming Language :: Python :: 3",
+    "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",
+    "Programming Language :: Python :: 3 :: Only",
+]
+
+dependencies = [
+    "oauthlib>=3.2.0,<4",
+    "requests>=2.27.0,<3",
+    "requests-oauthlib>=1.2.0,<3",
+]
+
+dynamic = ["version"]
+
+[project.optional-dependencies]
+async = [
+    "aiohttp>=3.7.3,<4",
+    "async-lru>=1.0.3,<3",
+]
+dev = [
+    "coverage>=4.4.2",
+    "coveralls>=2.1.0",
+    "tox>=3.21.0",
+]
+test = [
+    "urllib3<2",
+    "vcrpy>=1.10.3",
+]
+
+[project.urls]
+Code = "https://github.com/tweepy/tweepy";
+Documentation = "https://docs.tweepy.org";
+"Issue tracker" = "https://github.com/tweepy/tweepy/issues";
+Homepage = "https://tweepy.org";
+
 [build-system]
-requires = ["setuptools"]
-build-backend = "setuptools.build_meta"
+requires = ["flit_core<4"]
+build-backend = "flit_core.buildapi"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/requirements.txt 
new/tweepy-4.16.0/requirements.txt
--- old/tweepy-4.15.0/requirements.txt  2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/requirements.txt  1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
---index-url https://pypi.python.org/simple/
-
--e .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/setup.cfg new/tweepy-4.16.0/setup.cfg
--- old/tweepy-4.15.0/setup.cfg 2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/setup.cfg 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-[coverage:run]
-source = tweepy
-
-[coverage:report]
-omit =
-    */python?.?/*
-    */site-packages/*
-
-[tox:tox]
-envlist = py39, py310, py311, py312, py313
-
-[testenv]
-commands = python -m unittest discover tests
-extras = async, test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/setup.py new/tweepy-4.16.0/setup.py
--- old/tweepy-4.15.0/setup.py  2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/setup.py  1970-01-01 01:00:00.000000000 +0100
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-
-import re
-from setuptools import find_packages, setup
-
-VERSION_FILE = "tweepy/__init__.py"
-with open(VERSION_FILE) as version_file:
-    match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
-                      version_file.read(), re.MULTILINE)
-
-if match:
-    version = match.group(1)
-else:
-    raise RuntimeError(f"Unable to find version string in {VERSION_FILE}.")
-
-with open("README.md") as readme_file:
-    long_description = readme_file.read()
-
-setup(
-    name="tweepy",
-    version=version,
-    description="Twitter library for Python",
-    long_description=long_description,
-    long_description_content_type="text/markdown",
-    license="MIT",
-    author="Joshua Roesslein",
-    author_email="twe...@googlegroups.com",
-    url="https://www.tweepy.org/";,
-    project_urls={
-        "Documentation": "https://tweepy.readthedocs.io";,
-        "Issue Tracker": "https://github.com/tweepy/tweepy/issues";,
-        "Source Code": "https://github.com/tweepy/tweepy";,
-    },
-    download_url="https://pypi.org/project/tweepy/";,
-    packages=find_packages(),
-    install_requires=[
-        "oauthlib>=3.2.0,<4",
-        "requests>=2.27.0,<3",
-        "requests-oauthlib>=1.2.0,<3",
-    ],
-    extras_require={
-        "async": [
-            "aiohttp>=3.7.3,<4",
-            "async-lru>=1.0.3,<3",
-        ],
-        "docs": [
-            "myst-parser==0.15.2",
-            "readthedocs-sphinx-search==0.1.1",
-            "sphinx==4.2.0",
-            "sphinx-hoverxref==0.7b1",
-            "sphinx-tabs==3.2.0",
-            "sphinx_rtd_theme==1.0.0",
-        ],
-        "dev": [
-            "coverage>=4.4.2",
-            "coveralls>=2.1.0",
-            "tox>=3.21.0",
-         ],
-        "socks": ["requests[socks]>=2.27.0,<3"],
-        "test": [
-            "urllib3<2",  # https://github.com/kevin1024/vcrpy/issues/719
-            "vcrpy>=1.10.3",
-        ],
-    },
-    test_suite="tests",
-    keywords="twitter library",
-    python_requires=">=3.9",
-    classifiers=[
-        "Development Status :: 5 - Production/Stable",
-        "Topic :: Software Development :: Libraries",
-        "License :: OSI Approved :: MIT License",
-        "Operating System :: OS Independent",
-        "Programming Language :: Python",
-        "Programming Language :: Python :: 3",
-        "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",
-        "Programming Language :: Python :: 3 :: Only",
-    ],
-    zip_safe=True,
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/tests/test_client.py 
new/tweepy-4.16.0/tests/test_client.py
--- old/tweepy-4.15.0/tests/test_client.py      2025-01-15 22:05:34.000000000 
+0100
+++ new/tweepy-4.16.0/tests/test_client.py      2025-06-22 03:10:14.000000000 
+0200
@@ -257,3 +257,12 @@
         job_id = response.data["id"]
         self.client.get_compliance_job(job_id)
         self.client.get_compliance_jobs("tweets")
+
+    @tape.use_cassette("test_client_create_tweet_with_community.yaml")
+    def test_create_tweet_with_community(self):
+        response = self.client.create_tweet(
+            text="Test tweet in community",
+            community_id="123456789"
+        )
+        assert response.data["text"] == "Test tweet in community"
+        assert "community_id" in response.data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/tweepy/__init__.py 
new/tweepy-4.16.0/tweepy/__init__.py
--- old/tweepy-4.15.0/tweepy/__init__.py        2025-01-15 22:05:34.000000000 
+0100
+++ new/tweepy-4.16.0/tweepy/__init__.py        2025-06-22 03:10:14.000000000 
+0200
@@ -5,7 +5,7 @@
 """
 Tweepy Twitter API library
 """
-__version__ = '4.14.0'
+__version__ = '4.16.0'
 __author__ = 'Joshua Roesslein'
 __license__ = 'MIT'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/tweepy/api.py 
new/tweepy-4.16.0/tweepy/api.py
--- old/tweepy-4.15.0/tweepy/api.py     2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/tweepy/api.py     2025-06-22 03:10:14.000000000 +0200
@@ -321,7 +321,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -357,7 +357,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -404,7 +404,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -448,7 +448,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -496,7 +496,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -626,7 +626,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -658,7 +658,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -699,7 +699,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -1145,7 +1145,7 @@
             find across the REST API and platform. However, perspectival
             attributes (fields that pertain to the perspective of the
             authenticating user) are not currently supported on this endpoint.
-            [#]_\ [#]_
+            [#]_ [#]_
 
         .. deprecated:: 4.15.0
             `The Twitter API v1.1 search/tweets endpoint that this method uses
@@ -1259,7 +1259,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.List`]
+        :py:class:`List`[:class:`~tweepy.models.List`]
 
         References
         ----------
@@ -1303,7 +1303,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -1398,7 +1398,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.List`]
+        :py:class:`List`[:class:`~tweepy.models.List`]
 
         References
         ----------
@@ -1434,7 +1434,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.List`]
+        :py:class:`List`[:class:`~tweepy.models.List`]
 
         References
         ----------
@@ -1516,7 +1516,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Status`]
+        :py:class:`List`[:class:`~tweepy.models.Status`]
 
         References
         ----------
@@ -1564,7 +1564,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -1652,7 +1652,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.List`]
+        :py:class:`List`[:class:`~tweepy.models.List`]
 
         References
         ----------
@@ -2023,7 +2023,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2064,7 +2064,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -2104,7 +2104,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2145,7 +2145,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -2178,7 +2178,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2206,7 +2206,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Relationship`]
+        :py:class:`List`[:class:`~tweepy.models.Relationship`]
 
         References
         ----------
@@ -2233,7 +2233,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2265,7 +2265,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2346,7 +2346,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -2387,7 +2387,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -2590,7 +2590,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.SavedSearch`]
+        :py:class:`List`[:class:`~tweepy.models.SavedSearch`]
 
         References
         ----------
@@ -2913,7 +2913,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -2947,7 +2947,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -2978,7 +2978,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`int`]
+        :py:class:`List`[:class:`int`]
 
         References
         ----------
@@ -3011,7 +3011,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.User`]
+        :py:class:`List`[:class:`~tweepy.models.User`]
 
         References
         ----------
@@ -3225,7 +3225,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.DirectMessage`]
+        :py:class:`List`[:class:`~tweepy.models.DirectMessage`]
 
         References
         ----------
@@ -3904,7 +3904,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Place`]
+        :py:class:`List`[:class:`~tweepy.models.Place`]
 
         References
         ----------
@@ -3983,7 +3983,7 @@
 
         Returns
         -------
-        :py:class:`List`\[:class:`~tweepy.models.Place`]
+        :py:class:`List`[:class:`~tweepy.models.Place`]
 
         References
         ----------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tweepy-4.15.0/tweepy/client.py 
new/tweepy-4.16.0/tweepy/client.py
--- old/tweepy-4.15.0/tweepy/client.py  2025-01-15 22:05:34.000000000 +0100
+++ new/tweepy-4.16.0/tweepy/client.py  2025-06-22 03:10:14.000000000 +0200
@@ -539,7 +539,7 @@
             tweet_fields=None, user_fields=None, user_auth=False \
         )
 
-        Allows you to get information about a Tweet’s liking users.
+        Allows you to get information about a Tweet's liking users.
 
         .. versionchanged:: 4.6
             Added ``max_results`` and ``pagination_token`` parameters
@@ -597,7 +597,7 @@
             tweet_fields=None, user_fields=None, user_auth=False \
         )
 
-        Allows you to get information about a user’s liked Tweets.
+        Allows you to get information about a user's liked Tweets.
 
         The Tweets returned by this endpoint count towards the Project-level
         `Tweet cap`_.
@@ -731,7 +731,7 @@
         place_id=None, media_ids=None, media_tagged_user_ids=None,
         poll_duration_minutes=None, poll_options=None, quote_tweet_id=None,
         exclude_reply_user_ids=None, in_reply_to_tweet_id=None,
-        reply_settings=None, text=None, user_auth=True
+        reply_settings=None, text=None, user_auth=True, community_id=None
     ):
         """Creates a Tweet on behalf of an authenticated user.
 
@@ -780,6 +780,9 @@
             ``media.media_ids`` is not present.
         user_auth : bool
             Whether or not to use OAuth 1.0a User Context to authenticate
+        community_id : int | str | None
+            The ID of the Community to tweet in. The authenticated user must 
be a
+            member of the Community.
 
         Returns
         -------
@@ -798,6 +801,9 @@
         if direct_message_deep_link is not None:
             json["direct_message_deep_link"] = direct_message_deep_link
 
+        if community_id is not None:
+            json["community_id"] = community_id
+            
         if for_super_followers_only is not None:
             json["for_super_followers_only"] = for_super_followers_only
 

Reply via email to