Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/post-for-me-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand All @@ -46,7 +46,7 @@ jobs:
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/post-for-me-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand All @@ -67,7 +67,7 @@ jobs:
github.repository == 'stainless-sdks/post-for-me-python' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
uses: actions/github-script@v8
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: core.setOutput('github_token', await core.getIDToken());

Expand All @@ -87,7 +87,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/post-for-me-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'DayMoonDevelopment/post-for-me-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Check release environment
run: |
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.15.0"
".": "1.16.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 15
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/day-moon-development%2Fpost-for-me-d7bde21e6d3328e90ec781ff8e2629faeaae4bb5d8e0d350703326ec8aadf898.yml
openapi_spec_hash: dcb2130480c4476fe08fcb080e369ce0
config_hash: 0ec19602e41aea0526548245a59d4253
configured_endpoints: 21
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/day-moon-development/post-for-me-b4207c01320058903d7a081df1d83e7c750eebce2c8cb1dbfc73514bf318ea87.yml
openapi_spec_hash: ffccc75cdb734af5746192289c4fce9b
config_hash: 600d71be044aa28b6759ce7f55a86948
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog

## 1.16.0 (2026-05-13)

Full Changelog: [v1.15.0...v1.16.0](https://github.com/DayMoonDevelopment/post-for-me-python/compare/v1.15.0...v1.16.0)

### Features

* **api:** api update ([836ea67](https://github.com/DayMoonDevelopment/post-for-me-python/commit/836ea6730f3902793fbd6f2c2658408f14fdd26a))
* **api:** manual updates ([d04ba06](https://github.com/DayMoonDevelopment/post-for-me-python/commit/d04ba064d3473551fbb9f5fa58f7e0746e4e964a))
* **internal/types:** support eagerly validating pydantic iterators ([e452557](https://github.com/DayMoonDevelopment/post-for-me-python/commit/e452557c17b3a855f1721b22c31d866b3c820ca7))
* support setting headers via env ([2aa1883](https://github.com/DayMoonDevelopment/post-for-me-python/commit/2aa18833f588027ae62e86d4d4e9e376cb509405))


### Bug Fixes

* **client:** add missing f-string prefix in file type error message ([66a4a79](https://github.com/DayMoonDevelopment/post-for-me-python/commit/66a4a79e88650652dcc5fd7653edc5110c5f4590))
* use correct field name format for multipart file arrays ([8165256](https://github.com/DayMoonDevelopment/post-for-me-python/commit/8165256e26d948d2be4711116ed30004007ba6bf))


### Performance Improvements

* **client:** optimize file structure copying in multipart requests ([897e06a](https://github.com/DayMoonDevelopment/post-for-me-python/commit/897e06a740ac67aaacd96fc1c70a2cb07407d02a))


### Chores

* **internal:** more robust bootstrap script ([0c3c4f0](https://github.com/DayMoonDevelopment/post-for-me-python/commit/0c3c4f06ec91632e5b34d0651c058f4b2ad51065))
* **internal:** reformat pyproject.toml ([a1ee9d9](https://github.com/DayMoonDevelopment/post-for-me-python/commit/a1ee9d96ce4e823150ef165b857ce5e839beea3f))

## 1.15.0 (2026-04-11)

Full Changelog: [v1.14.0...v1.15.0](https://github.com/DayMoonDevelopment/post-for-me-python/compare/v1.14.0...v1.15.0)
Expand Down
51 changes: 48 additions & 3 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,23 @@ Types:

```python
from post_for_me.types import (
AccountConfiguration,
BlueskyConfigurationDto,
CreateSocialPost,
DeleteEntityResponse,
FacebookConfigurationDto,
InstagramConfigurationDto,
LinkedinConfigurationDto,
PinterestConfigurationDto,
PlatformConfigurationsDto,
SocialPost,
SocialPostMedia,
ThreadsConfigurationDto,
TiktokConfiguration,
TwitterConfigurationDto,
TwitterPoll,
YoutubeConfigurationDto,
SocialPostListResponse,
SocialPostDeleteResponse,
)
```

Expand All @@ -39,7 +42,7 @@ Methods:
- <code title="get /v1/social-posts/{id}">client.social_posts.<a href="./src/post_for_me/resources/social_posts.py">retrieve</a>(id) -> <a href="./src/post_for_me/types/social_post.py">SocialPost</a></code>
- <code title="put /v1/social-posts/{id}">client.social_posts.<a href="./src/post_for_me/resources/social_posts.py">update</a>(id, \*\*<a href="src/post_for_me/types/social_post_update_params.py">params</a>) -> <a href="./src/post_for_me/types/social_post.py">SocialPost</a></code>
- <code title="get /v1/social-posts">client.social_posts.<a href="./src/post_for_me/resources/social_posts.py">list</a>(\*\*<a href="src/post_for_me/types/social_post_list_params.py">params</a>) -> <a href="./src/post_for_me/types/social_post_list_response.py">SocialPostListResponse</a></code>
- <code title="delete /v1/social-posts/{id}">client.social_posts.<a href="./src/post_for_me/resources/social_posts.py">delete</a>(id) -> <a href="./src/post_for_me/types/social_post_delete_response.py">SocialPostDeleteResponse</a></code>
- <code title="delete /v1/social-posts/{id}">client.social_posts.<a href="./src/post_for_me/resources/social_posts.py">delete</a>(id) -> <a href="./src/post_for_me/types/delete_entity_response.py">DeleteEntityResponse</a></code>

# SocialPostResults

Expand All @@ -61,6 +64,7 @@ Types:
```python
from post_for_me.types import (
SocialAccount,
SocialAccountMetadata,
SocialAccountListResponse,
SocialAccountCreateAuthURLResponse,
SocialAccountDisconnectResponse,
Expand All @@ -81,9 +85,50 @@ Methods:
Types:

```python
from post_for_me.types import PlatformPost, SocialAccountFeedListResponse
from post_for_me.types import (
FacebookActivityByActionType,
FacebookVideoRetentionGraph,
FacebookVideoViewTimeByDemographic,
PinterestMetricsWindow,
PlatformPost,
TiktokBusinessVideoMetricPercentage,
YoutubePostPlatformData,
SocialAccountFeedListResponse,
)
```

Methods:

- <code title="get /v1/social-account-feeds/{social_account_id}">client.social_account_feeds.<a href="./src/post_for_me/resources/social_account_feeds.py">list</a>(social_account_id, \*\*<a href="src/post_for_me/types/social_account_feed_list_params.py">params</a>) -> <a href="./src/post_for_me/types/social_account_feed_list_response.py">SocialAccountFeedListResponse</a></code>

# Webhooks

Types:

```python
from post_for_me.types import Webhook, WebhookListResponse
```

Methods:

- <code title="post /v1/webhooks">client.webhooks.<a href="./src/post_for_me/resources/webhooks.py">create</a>(\*\*<a href="src/post_for_me/types/webhook_create_params.py">params</a>) -> <a href="./src/post_for_me/types/webhook.py">Webhook</a></code>
- <code title="get /v1/webhooks/{id}">client.webhooks.<a href="./src/post_for_me/resources/webhooks.py">retrieve</a>(id) -> <a href="./src/post_for_me/types/webhook.py">Webhook</a></code>
- <code title="patch /v1/webhooks/{id}">client.webhooks.<a href="./src/post_for_me/resources/webhooks.py">update</a>(id, \*\*<a href="src/post_for_me/types/webhook_update_params.py">params</a>) -> <a href="./src/post_for_me/types/webhook.py">Webhook</a></code>
- <code title="get /v1/webhooks">client.webhooks.<a href="./src/post_for_me/resources/webhooks.py">list</a>(\*\*<a href="src/post_for_me/types/webhook_list_params.py">params</a>) -> <a href="./src/post_for_me/types/webhook_list_response.py">WebhookListResponse</a></code>
- <code title="delete /v1/webhooks/{id}">client.webhooks.<a href="./src/post_for_me/resources/webhooks.py">delete</a>(id) -> <a href="./src/post_for_me/types/delete_entity_response.py">DeleteEntityResponse</a></code>

# SocialPostPreviews

Types:

```python
from post_for_me.types import (
CreateSocialPostPreview,
SocialPostPreview,
SocialPostPreviewCreateResponse,
)
```

Methods:

- <code title="post /v1/social-post-previews">client.social_post_previews.<a href="./src/post_for_me/resources/social_post_previews.py">create</a>(\*\*<a href="src/post_for_me/types/social_post_preview_create_params.py">params</a>) -> <a href="./src/post_for_me/types/social_post_preview_create_response.py">SocialPostPreviewCreateResponse</a></code>
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "post_for_me"
version = "1.15.0"
version = "1.16.0"
description = "The official Python library for the post-for-me API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -168,7 +168,7 @@ show_error_codes = true
#
# We also exclude our `tests` as mypy doesn't always infer
# types correctly and Pyright will still catch any type errors.
exclude = ['src/post_for_me/_files.py', '_dev/.*.py', 'tests/.*']
exclude = ["src/post_for_me/_files.py", "_dev/.*.py", "tests/.*"]

strict_equality = true
implicit_reexport = true
Expand Down
2 changes: 1 addition & 1 deletion scripts/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

cd "$(dirname "$0")/.."

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "${SKIP_BREW:-}" != "1" ] && [ -t 0 ]; then
brew bundle check >/dev/null 2>&1 || {
echo -n "==> Install Homebrew dependencies? (y/N): "
read -r response
Expand Down
Loading