Skip to content

Commit d6f6db6

Browse files
committed
chore: rename PyPI distribution to socialapis-sdk
The bare `socialapis` name on PyPI was already taken / squatted — PyPI's name-similarity check refused the registration. `socialapis-sdk` is distinct enough to pass and follows the common Python SDK naming convention (`<brand>-sdk`). What changed: - pyproject.toml: name = "socialapis" → "socialapis-sdk" - release.yml: tag-vs-version check now expects socialapis_sdk-*.tar.gz (PEP 625 normalises hyphens to underscores in built distributions) - release.yml: environment.url points to the new project page - README.md: install commands + PyPI badges updated - CHANGELOG.md: callout for the rename + reminder that import path stays `socialapis` (independent of the PyPI distribution name) What did NOT change: - The Python import path. Users still write `from socialapis import ...` - The package directory layout (`socialapis/` on disk) - Any code, any test, any docstring inside the package - The Pending Trusted Publisher on PyPI is already configured for the new `socialapis-sdk` name pointing at this repo's release.yml Once this lands on main, the v0.1.0 tag can be pushed to trigger the first release.
1 parent 57a7d9d commit d6f6db6

4 files changed

Lines changed: 20 additions & 6 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,12 @@ jobs:
4343
- name: Verify version matches tag
4444
# Belt-and-suspenders — fail loudly if the tag and the package
4545
# version disagree, instead of shipping a confusing release.
46+
# Note: PEP 625 normalises hyphens in distribution names to
47+
# underscores in built filenames, so `socialapis-sdk` becomes
48+
# `socialapis_sdk-X.Y.Z.tar.gz` on disk.
4649
run: |
4750
tag="${GITHUB_REF_NAME#v}"
48-
file_version=$(ls dist/socialapis-*.tar.gz | sed -E 's|.*socialapis-([^-]+)\.tar\.gz|\1|')
51+
file_version=$(ls dist/socialapis_sdk-*.tar.gz | sed -E 's|.*socialapis_sdk-([^-]+)\.tar\.gz|\1|')
4952
if [ "$tag" != "$file_version" ]; then
5053
echo "::error::Tag ${tag} does not match package version ${file_version}"
5154
exit 1
@@ -62,7 +65,7 @@ jobs:
6265
runs-on: ubuntu-latest
6366
environment:
6467
name: pypi
65-
url: https://pypi.org/project/socialapis/
68+
url: https://pypi.org/project/socialapis-sdk/
6669
permissions:
6770
id-token: write # OIDC token for PyPI Trusted Publishing
6871
steps:

‎CHANGELOG.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
First public release. Full coverage of the SocialAPIs.io public REST surface
1111
in one shot — no v0.2/v0.3 follow-ups required for core endpoints.
1212

13+
> **PyPI distribution name**: `socialapis-sdk` (install with
14+
> `pip install socialapis-sdk`). The Python import path is the
15+
> shorter `socialapis` (`from socialapis import Facebook`) — those
16+
> two are independent on PyPI.
17+
1318
### Added — Facebook namespace (`Facebook` / `AsyncFacebook`)
1419

1520
**Pages**: `get_page_id`, `get_page_info`, `get_page_posts`, `get_page_reels`,

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# socialapis — Python SDK for Facebook + Instagram public data
22

3-
[![PyPI](https://img.shields.io/pypi/v/socialapis.svg)](https://pypi.org/project/socialapis/)
4-
[![Python versions](https://img.shields.io/pypi/pyversions/socialapis.svg)](https://pypi.org/project/socialapis/)
3+
[![PyPI](https://img.shields.io/pypi/v/socialapis-sdk.svg)](https://pypi.org/project/socialapis-sdk/)
4+
[![Python versions](https://img.shields.io/pypi/pyversions/socialapis-sdk.svg)](https://pypi.org/project/socialapis-sdk/)
55
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
66

77
The modern alternative to [`kevinzg/facebook-scraper`](https://github.com/kevinzg/facebook-scraper)
@@ -11,7 +11,7 @@ review, no scraper maintenance**. Powered by hosted infrastructure at
1111
[socialapis.io](https://socialapis.io).
1212

1313
```bash
14-
pip install socialapis
14+
pip install socialapis-sdk
1515
```
1616

1717
```python

‎pyproject.toml‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ build-backend = "hatchling.build"
1212
# PACKAGE METADATA
1313
# =============================================================================
1414
[project]
15-
name = "socialapis"
15+
# PyPI distribution name. `socialapis` was already taken/squatted on
16+
# PyPI when we tried to register it. `socialapis-sdk` is distinct
17+
# enough to pass PyPI's name-similarity check. The Python IMPORT
18+
# path is unaffected — users still write `from socialapis import ...`
19+
# (the import path comes from the package directory name, not the
20+
# distribution name).
21+
name = "socialapis-sdk"
1622
dynamic = ["version"]
1723
description = "Python SDK for Facebook and Instagram public data. Drop-in replacement for facebook-scraper. REST + MCP, 200 free API calls/month, no OAuth."
1824
readme = "README.md"

0 commit comments

Comments
 (0)