NancyFx / Nancy

Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono
http://nancyfx.org
MIT License
7.15k stars 1.46k forks source link
c-sharp dotnet dotnet-core framework mit mono nancy nancy-application nancyfx web web-application-framework

Announcement - Nancy is no longer being maintained!

We would like to thank all the thousands of users of Nancy, all the people who wrote blog posts, conference speakers, video producers and those that spread the word of Nancy.

We would like to thank the 150+ contributors to Nancy that made it what it became, without you the work would have been much harder and opportunities missed.

We would like to thank VQ for financially sponsoring our open source efforts.

We would like to thank the core contributors to Nancy @jchannon, @khellang, @damianh, @phillip-haydon, @prabirshrestha, @horsdal for working hard into the nights coding, testing and writing docs but most importantly the founders of Nancy itself @thecodejunkie and @grumpydev whose vision made Nancy what it was, a fun, performant and enjoyable web framework.

Support

We understand that organisations may have services and products that still depend on Nancy in production. A couple of members of the team can offer a support, maintenance, migration services on commercial terms. Please reach out to nancyfx.help@gmail.com to discuss options.

Forking

Nancy's licence is permissible so we encourage forking if you need to perform maintenance. However, the logos and name are copyright to Andreas Håkansson and Steven Robbins and are not for re-use or editing. Please see full licence information here


Meet Nancy NuGet Version Slack Status

Nancy is a lightweight, low-ceremony, framework for building HTTP based services on .NET Framework/Core and Mono. The goal of the framework is to stay out of the way as much as possible and provide a super-duper-happy-path to all interactions.

Nancy is designed to handle DELETE, GET, HEAD, OPTIONS, POST, PUT and PATCH requests and provides a simple, elegant, Domain Specific Language (DSL) for returning a response with just a couple of keystrokes, leaving you with more time to focus on the important bits.. your code and your application.

Write your application

public class Module : NancyModule
{
    public Module()
    {
        Get("/greet/{name}", x => {
            return string.Concat("Hello ", x.name);
        });
    }
}

Compile, run and enjoy the simple, elegant design!

Features

The super-duper-happy-path

The "super-duper-happy-path" (or SDHP if you’re ‘down with the kids’ ;-)) is a phrase we coined to describe the ethos of Nancy; and providing the “super-duper-happy-path” experience is something we strive for in all of our APIs.

While it’s hard to pin down exactly what it is, it’s a very emotive term after all, but the basic ideas behind it are:

Above all, creating an application with Nancy should be a pleasure, and hopefully fun! But without sacrificing the power or extensibility that you may need as your application grows.

Getting started

As a start several working samples are provided in the /sample directory. Simply run the build script build.ps1 (for Windows PowerShell) or build.sh (for *nix-Bash) first.

Community

Nancy followers can be found on Slack NancyFx team. You can also find Nancy on Twitter using the #NancyFx hashtag.

Help out

There are many ways you can contribute to Nancy. Like most open-source software projects, contributing code is just one of many outlets where you can help improve. Some of the things that you could help out with in Nancy are:

Continuous integration builds

Platform Status
AppVeyor (.NET & .NET Core) Build Status
Travis (Mono) Build Status

To get build artifacts of latest master, please use our MyGet feed

Contributors

Nancy is not a one man project and many of the features that are available would not have been possible without the awesome contributions from the community!

For a full list of contributors, please see the website.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Contribution License Agreement

Contributing to Nancy requires you to sign a contribution license agreement (CLA) for anything other than a trivial change. By signing the contribution license agreement, the community is free to use your contribution to .NET Foundation projects.

.NET Foundation

This project is supported by the .NET Foundation.

Copyright

Copyright © 2010 Andreas Håkansson, Steven Robbins and contributors

License

Nancy is licensed under MIT. Refer to license.txt for more information.