awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Moya avatar

Moya/Moya

0
View on GitHub↗
15,364 stars·2,004 forks·Swift·MIT·18 viewsmoya.github.io↗

Moya

Moya is a network abstraction layer for Swift that provides a structured framework for defining and executing REST API requests. It functions as a type-safe API client that decouples network endpoint definitions from the underlying implementation details to prevent configuration errors and URL typos.

The project distinguishes itself by using protocol-based endpoint definitions and a provider-coordinated execution model. It includes a system for mapping network responses to strongly typed objects and features a dedicated tool for generating type-safe network interface files from external REST documentation.

The framework covers a broad set of capabilities including reactive network programming via wrappers for asynchronous streams, response mapping with HTTP status code filtering, and comprehensive testing utilities for network request stubbing and API mocking.

The library is implemented in Swift.

Features

  • RESTful API Clients - Provides a type-safe framework for interacting with RESTful web services using a provider-coordinated model.
  • Type-Safe API Clients - Provides a type-safe layer for defining API endpoints to prevent URL typos and enforce parameter correctness via the compiler.
  • Response Decoders - Converts raw network response data into usable formats using custom decoding logic for specific data types.
  • REST APIs - Provides a structured framework for defining and executing requests to RESTful services.
  • Request Execution - Dispatches network requests to defined endpoints and processes results via completion handlers or streams.
  • Provider Coordinators - Uses a provider coordinator to manage the entire lifecycle of a network request.
  • HTTP Abstraction Layers - Encapsulates low-level network objects to provide a high-level, type-safe API for request and response handling.
  • API Response Simulators - Redirects network calls to a local data store to provide predefined stubbed responses for development and testing.
  • Network Layer Architectures - Implements a protocol-based abstraction layer that decouples endpoint definitions from network implementation details.
  • Protocol-Based API Definitions - Defines network requests as types conforming to a specific protocol to ensure consistent request configurations.
  • API Request Mocking - Simulates server responses for testing by intercepting requests and returning pre-defined mock data.
  • Type-Safe - Maps strongly typed Swift enums and structs to URL components and request bodies to prevent runtime errors.
  • Response Serialization - Maps raw network response data into strongly typed Swift objects using integrated serialization.
  • Type-Safe API Frameworks - Transforms raw network bytes into strongly typed JSON objects or images using integrated serialization.
  • Type-Safe API Integrations - Ensures type safety across network boundaries by mapping responses to strongly typed Swift objects.
  • Testing and Mocking - Includes comprehensive utilities for stubbing network responses and mocking API behavior for testing.
  • Validation Filters - Filters network responses by validating that they match specific HTTP status codes before proceeding to decoding.
  • HTTP Response Processors - Transforms raw response data into images, JSON, or strings while filtering for successful status codes.
  • Reactive Stream Architectures - Wraps asynchronous network calls in observables or publishers to handle responses and progress reactively.
  • API Mocking - Simulates server responses with stubbed data to test network integration without live backend requests.
  • API Testing - Includes integrated unit testing tools to validate the behavior of API requests and responses.
  • Interceptor Chains - Processes network responses through a chain of operators to validate status codes before passing data to decoders.
  • Reactive Networking - Provides wrappers for API requests using observables or signal producers to handle responses through reactive streams.
  • Networking Frameworks - Provides a network abstraction layer for API services.
  • Networking - Network abstraction layer for Swift.

Star history

Star history chart for moya/moyaStar history chart for moya/moya

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Moya

Similar open-source projects, ranked by how many features they share with Moya.
  • alamofire/alamofireAlamofire avatar

    Alamofire/Alamofire

    42,385View on GitHub↗

    Alamofire is an HTTP networking library that provides a foundation for managing network requests and responses through a chainable, type-safe interface. It serves as an asynchronous request manager, coordinating concurrent network operations and data streams while maintaining application responsiveness. The library distinguishes itself through a protocol-oriented request adaptation system, which utilizes interceptors to modify or authenticate requests before dispatch. It employs a middleware-driven pipeline to process traffic, handling encoding, authentication, and error recovery in a modular

    Swiftalamofirecarthagecertificate-pinning
    View on GitHub↗42,385
  • reactiveui/refitreactiveui avatar

    reactiveui/refit

    9,513View on GitHub↗

    Refit is a type-safe REST client for .NET that transforms API definitions into live interfaces. It functions as an automatic API proxy generator, allowing developers to define endpoints as interfaces to eliminate manual HTTP request boilerplate. The library is designed for compatibility with ahead-of-time compilation and trimmed binaries, utilizing build-time source generation to ensure support for native AoT deployments. The project covers a broad range of API integration capabilities, including attribute-driven request composition, automatic JSON deserialization, and request header managem

    C#c-sharpdotnetdotnet-core
    View on GitHub↗9,513
  • elysiajs/elysiaelysiajs avatar

    elysiajs/elysia

    18,531View on GitHub↗

    Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s

    TypeScriptbunframeworkhttp
    View on GitHub↗18,531
  • encode/httpxencode avatar

    encode/httpx

    15,090View on GitHub↗

    This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro

    Pythonasynciohttppython
    View on GitHub↗15,090
See all 30 alternatives to Moya→

Frequently asked questions

What does moya/moya do?

Moya is a network abstraction layer for Swift that provides a structured framework for defining and executing REST API requests. It functions as a type-safe API client that decouples network endpoint definitions from the underlying implementation details to prevent configuration errors and URL typos.

What are the main features of moya/moya?

The main features of moya/moya are: RESTful API Clients, Type-Safe API Clients, Response Decoders, REST APIs, Request Execution, Provider Coordinators, HTTP Abstraction Layers, API Response Simulators.

What are some open-source alternatives to moya/moya?

Open-source alternatives to moya/moya include: alamofire/alamofire — Alamofire is an HTTP networking library that provides a foundation for managing network requests and responses through… reactiveui/refit — Refit is a type-safe REST client for .NET that transforms API definitions into live interfaces. It functions as an… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a… encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… intuit/karate — Karate is an end-to-end testing framework and API test automation tool used to validate REST and SOAP APIs, drive… encoredev/encore — Encore is a distributed systems framework designed to unify backend development, infrastructure provisioning, and…