- Notifications
You must be signed in to change notification settings - Fork250
Releases: replicate/replicate-python
1.1.0b1
Compare
What's Changed
The main change in1.1.0b1
is the introduction of a new experimentalreplicate.use()
function intended to eventually replacereplicate.run()
. This provides a more expressive function-like interface for calling models.
import replicateflux_dev = replicate.use("black-forest-labs/flux-dev")outputs = flux_dev(prompt="a cat wearing an amusing hat")for output in outputs: print(output) # /tmp/output.webp
Check out theREADME.md on thebeta
branch for more details.
- Switch to using
uv
for project tooling by@aron in#437 - Add experimental
replicate.use()
function by@aron in#438
Full Changelog:1.0.7...1.1.0b1
1.0.7
Compare
What's Changed
If you run replicate-python within a cog model runningcog 0.14.11 or later, it is now possible to pass aREPLICATE_API_TOKEN
via thecontext
as part of a prediction request.
TheReplicate()
constructor will now use this context when available. This grants cog models the ability to use the Replicate client libraries, scoped to a user on a per request basis.
Full Changelog:1.0.6...1.0.7
Assets2
Uh oh!
There was an error while loading.Please reload this page.
1.0.6
Compare
Full Changelog:1.0.4...1.0.6
There was no 1.0.5 release, the release system failed and we chose not to re-use the identifier.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
1.0.4
461ec70
Compare
What's Changed
- Fix two bugs in the base64 file_encoding_strategy by@aron in#398
replicate.run()
now correctly converts the file provided into a valid base64 encoded data URL.replicate.async_run()
now respects thefile_encoding_strategy
flag.
Full Changelog:1.0.3...1.0.4
1.0.3
a54a786
Compare
What's Changed
- Fix a bug where
replicate.run
would swallow tokens (or files) at the start of a prediction's output. Thanks to@aron in#383
Full Changelog:1.0.2...1.0.3
1.0.2
23bd903
Compare
What's Changed
Full Changelog:1.0.1...1.0.2
1.0.1
Compare
Assets2
Uh oh!
There was an error while loading.Please reload this page.
1.0.0
Compare
Warning
Breaking changes
This 1.0.0 latest release ofreplicate
contains breaking changes. Thereplicate.run()
method will now returnFileObjects
rather than URL strings by default for models that output files.
TheFileObject
implements an iterable object similar tohttpx.Response
to make it easier to work with files and ensures that Replicate can deliver file data to the client in the most efficient manner possible.
For example:
[output]=replicate.run("black-forest-labs/flux-schnell",input={"prompt":"astronaut riding a rocket like a horse"},);
For most basic cases you'll want to utilize either theurl
orread()
fields depending on whether you want to directly consume the file or pass it on.
To access the file URL:
print(output.url)#=> "https://delivery.replicate.com/..."
To consume the file directly:
withopen('output.bin','wb')asfile:file.write(output.read())
Or for very large files they can be streamed:
withopen(file_path,'wb')asfile:forchunkinoutput:file.write(chunk)
Each of these methods has an equivalentasyncio
API.
asyncwithaiofiles.open(filename,'w')asfile:awaitfile.write(awaitoutput.aread())asyncwithaiofiles.open(filename,'w')asfile:awaitforchunkinoutput:awaitfile.write(chunk)
For streaming responses from common frameworks, all support takingIterator
types:
Django
@condition(etag_func=None)defstream_response(request):output=replicate.run("black-forest-labs/flux-schnell",input={...},use_file_output=True)returnHttpResponse(output,content_type='image/webp')
FastAPI
@app.get("/")asyncdefmain():output=replicate.run("black-forest-labs/flux-schnell",input={...},use_file_output=True)returnStreamingResponse(output)
Flask
@app.route('/stream')defstreamed_response():output=replicate.run("black-forest-labs/flux-schnell",input={...},use_file_output=True)returnapp.response_class(stream_with_context(output))
In case of breakages, in most instances, updating existing applications to calloutput.url
should fix issues.
To revert to previous behaviour you can opt out ofFileOutput
by passinguse_file_output=False
to thereplicate.run()
method.
constreplicate=replicate.run("acmecorp/acme-model",use_file_output=False);
Full Changelog:0.34.2...1.0.0
Assets2
Uh oh!
There was an error while loading.Please reload this page.
0.34.1
Compare
What's Changed
Full Changelog:0.34.0...0.34.1
0.34.0
Compare
What's Changed
- Add
wait
parameter to prediction creation methods by@mattt in#354 - Add
use_file_output
to streaming methods by@mattt in#355
Full Changelog:0.33.0...0.34.0