GithubHelp home page GithubHelp logo

Comments (7)

wolfskaempf avatar wolfskaempf commented on June 3, 2024 2

@Stranger6667 Is supporting anyio>=4 currently still planned (be it through switching away from starlette-testclient or some other way) and if so, can you estimate when that would be? Can I support you somehow in the migration?

from schemathesis.

Kludex avatar Kludex commented on June 3, 2024 2

@Stranger6667 I gave you maintainer rights on starlette-testclient. Feel free to do what you need. 👍

from schemathesis.

Stranger6667 avatar Stranger6667 commented on June 3, 2024 1

The fix is available in 3.27.1

from schemathesis.

Stranger6667 avatar Stranger6667 commented on June 3, 2024

Indeed, Schemathesis pins anyio to <4, exactly because of starlette-testclient

There is a plan to switch from starlette-testclient completely, but I didn't get to it just yet.

from schemathesis.

Stranger6667 avatar Stranger6667 commented on June 3, 2024

Hi @wolfskaempf !

thank you for pinging. At this point I refactored the transport logic and now it should be easier to migrate that logic to httpx.

There are two main ways to get this through. The first one is to migrate ASGI transport to httpx, including sync-async bridge (the ASGI adapter in httpx is async). The other option is to add support for newer anyio versions to starlette-testclient and update it in Schemathesis.

the latter could be simpler, but I’d prefer the former one as it is cleaner and reduce our dependency on legacy tools (in a sense that starlette moved to httpx and starlette-testclient is a backport of its old code).

In terms of support I am thinking about a few ways:

  • work on the implementation, I’d be happy to assist
  • Test pre-release version when it’s ready
  • If your company uses Schemathesis, they might take a look at sponsorship options.

Other than that I am currently looking more into reworking all the jsonschema usage by integrating the next version of my ‘jsonschema’ Rust crate which aims to resolve long standing performance and compatibility issues in this area. It will take a few months, so I am not sure if I’d have the bandwidth to dive deeper into transports.

from schemathesis.

Stranger6667 avatar Stranger6667 commented on June 3, 2024

Tagging @Kludex for visibility. Maybe adjusting things on the starlette-testclient could be the easiest way to go for now.
@Kludex - would you be open to accepting anyio 4 support if I or somebody else will open a PR in the starlette-testclient repo?

from schemathesis.

Stranger6667 avatar Stranger6667 commented on June 3, 2024

@Stranger6667 I gave you maintainer rights on starlette-testclient. Feel free to do what you need. 👍

Thanks!

from schemathesis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.