
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
projz-py
Advanced tools
A simple asynchronous library for interaction with Project Z
pip install projz.py
import projz
from asyncio import get_event_loop
client = projz.Client()
async def main():
result = await client.login_email("your email", "your password")
print(f"Logged in to account with nickname {result.user_profile.nickname}")
info = await client.get_link_info("link here")
print(f"Object id: {info.object_id}, object type: {info.object_type}")
if __name__ == "__main__":
get_event_loop().run_until_complete(main())
import projz
from asyncio import get_event_loop
from aiofiles import open as async_open
client = projz.Client()
async def main():
result = await client.login_email("your email", "your password")
print(f"Logged in to account with nickname {result.user_profile.nickname}")
circle_link_info = await client.get_link_info(input("Circle link: "))
await client.post_blog(
"Blog title",
"Blog content",
content_rich_format=projz.RichFormatBuilder().h1(0, 4).build(),
cover=await client.upload_file(await async_open("cover-file.png", "rb"), projz.EUploadTarget.FOREGROUND),
background=await client.upload_file(await async_open("bg-file.png", "rb"), projz.EUploadTarget.BACKGROUND),
circle_list=[circle_link_info.object_id]
)
if __name__ == "__main__":
get_event_loop().run_until_complete(main())
import projz
from asyncio import get_event_loop
client = projz.Client()
@client.on_message()
async def handle_echo(message: projz.ChatMessage):
if message.content is not None:
await client.send_message(message.thread_id, content=message.content)
# You can specify the command prefix in the arguments of the decorator or Client.
# The slash / is set by default.
@client.on_command("off") # = on_message("/off")
async def handle_off(message: projz.ChatMessage):
await client.change_chat_online_status(message.thread_id, is_online=False)
async def main():
await client.login_email("your email", "your password")
print("Waiting for the messages...")
if __name__ == "__main__":
loop = get_event_loop()
loop.run_until_complete(main())
loop.run_forever()
python -m projz list-actions
python -m projz login --auth email --login yourlogin --password yourpassword
python -m projz login --auth phone --login yourlogin --password yourpassword
python -m projz link-info --auth email --login yourlogin --password yourpassword --info yourlink
python -m projz send-message --auth email --login yourlogin --password yourpassword --thread chatlink --repeat 150
python -m projz join-circle --auth email --login yourlogin --password yourpassword --circle circlelink
python -m projz leave-circle --auth email --login yourlogin --password yourpassword --circle circlelink
python -m projz listen --auth email --login yourlogin --password yourpassword
FAQs
An asynchronous library for creating scripts and chatbots in Project Z.
We found that projz-py demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.