I am setting object with public-read-write ACL with following code in python:
o = s3.Object(bucket, key)
o.Acl().put(ACL='public-read-write')
I can now access object on https://hostname/tenant:bucket/key publicly.
Is it possible for anonymous user to upload something to this object?
You need to check other S3 settings. For example, you need to disable "S3 Block Public Access", since Block Public Access will take precedence. Also, you need to check bucket policy to allow access. Please note, it's a good idea to use pre-signed url.