{"id":13345120,"url":"https://github.com/ninject/ninject","last_synced_at":"2026-10-19T07:59:38.594Z","repository":{"id":517288,"uuid":"145356","full_name":"ninject/Ninject","owner":"ninject","description":"the ninja of .net dependency injectors","archived":false,"fork":false,"pushed_at":"2024-06-14T01:19:58.000Z","size":33575,"stargazers_count":2666,"open_issues_count":90,"forks_count":515,"subscribers_count":155,"default_branch":"main","last_synced_at":"2026-10-06T14:55:51.571Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ninject.org/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ninject.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-03-07T19:04:25.000Z","updated_at":"2026-09-23T15:59:20.000Z","dependencies_parsed_at":"2024-01-08T01:44:35.618Z","dependency_job_id":"ba492f1b-25c4-4340-bd00-7661b6964465","html_url":"https://github.com/ninject/Ninject","commit_stats":{"total_commits":767,"total_committers":41,"mean_commits":18.70731707317073,"dds":0.7770534550195567,"last_synced_commit":"5dc43690b23716fc7ad7df5a810fa7c8731ce392"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/ninject/Ninject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninject%2FNinject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninject%2FNinject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninject%2FNinject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninject%2FNinject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninject","download_url":"https://codeload.github.com/ninject/Ninject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninject%2FNinject/sbom","scorecard":{"id":688575,"data":{"date":"2025-08-11","repo":{"name":"github.com/ninject/Ninject","commit":"01c86efb64f551e1f6a043ef2d5c03a2612918dd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'","Warn: branch protection not enabled for branch 'Release3.3.5'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T01:40:47.899Z","repository_id":517288,"created_at":"2025-08-22T01:40:47.899Z","updated_at":"2025-08-22T01:40:47.899Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38351721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-29T20:00:52.907Z","updated_at":"2026-10-19T07:59:38.219Z","avatar_url":"https://github.com/ninject.png","language":"C#","funding_links":[],"categories":["IoC"],"sub_categories":["GUI - other"],"readme":"# Ninject \n\n[![Build status](https://ci.appveyor.com/api/projects/status/vf412wymbva3x3nv?svg=true)](https://ci.appveyor.com/project/Ninject/ninject)\n[![codecov](https://codecov.io/gh/ninject/Ninject/branch/main/graph/badge.svg)](https://codecov.io/gh/ninject/Ninject)\n[![NuGet Version](http://img.shields.io/nuget/v/Ninject.svg?style=flat)](https://www.nuget.org/packages/Ninject/) \n[![NuGet Downloads](http://img.shields.io/nuget/dt/Ninject.svg?style=flat)](https://www.nuget.org/packages/Ninject/)\n\nNinject is a lightning-fast, ultra-lightweight dependency injector for .NET applications. It helps you split your\napplication into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a\nflexible manner. By using Ninject to support your software's architecture, your code will become easier to write,\nreuse, test, and modify.\n\n*Write your code so it's flexible...*\n```C#\npublic class Samurai {\n    public IWeapon Weapon { get; private set; }\n    public Samurai(IWeapon weapon) \n    {\n        this.Weapon = weapon;\n    }\n}\n```\n*...and let Ninject glue it together for you.*\n```C#\npublic class WarriorModule : NinjectModule\n{\n    public override void Load() \n    {\n        this.Bind\u003cIWeapon\u003e().To\u003cSword\u003e();\n    }\n}\n```\n\n## Features:\n\n1. **Focused.** Too many existing dependency injection projects sacrifice usability for features that aren't often necessary.\n   Each time a feature is added to Ninject, its benefit is weighed against the complexity it adds to everyday use. Our goal\n   is to keep the barrier to entry - the baseline level of knowledge required to use Ninject - as low as possible. Ninject\n   has many advanced features, but understanding them is not required to use the basic features.\n   \n2. **Sleek.** Framework bloat is a major concern for some projects, and as such, all of Ninject's core functionality is in a\n   single assembly with no dependencies outside the .NET base class library. This single assembly's footprint is approximately\n   85KB when compiled for release.\n   \n3. **Fast.** Instead of relying on reflection for invocation, Ninject takes advantage of lightweight code generation in the CLR.\n   This can result in a dramatic (8-50x) improvement in performance in many situations.\n   \n4. **Precise.** Ninject helps developers get things right the first time around. Rather than relying on XML mapping files and\n   string identifiers to wire up components, Ninject provides a robust domain-specific language. This means that Ninject\n   takes advantage of the capabilities of the language (like type-safety) and the IDE (like IntelliSense and code completion).\n   \n5. **Agile.** Ninject is designed around a component-based architecture, with customization and evolution in mind. Many facets\n   of the system can be augmented or modified to fit the requirements of each project.\n   \n6. **Stealthy.** Ninject will not invade your code. You can easily isolate the dependency on Ninject to a single assembly in\n   your project.\n   \n7. **Powerful.** Ninject includes many advanced features. For example, Ninject is the first dependency injector to support\n   contextual binding, in which a different concrete implementation of a service may be injected depending on the context in\n   which it is requested.\n\n## Everything else is in Extensions\n\nYes, sounds slim and focused, but where is the support for all the features that the competitors have? \n\nGenerally, they are maintained as specific focused extensions with owners who keep them in sync and pull in new ideas and fixes fast. These are summarized on the [extensions](http://ninject.org/extensions) section of the project website. Most are hosted alongside the core project right here.\n\n## License\nNinject is intended to be used in both open-source and commercial environments. To allow its use in as many\nsituations as possible, Ninject is dual-licensed. You may choose to use Ninject under either the Apache License,\nVersion 2.0, or the Microsoft Public License (Ms-PL). These licenses are essentially identical, but you are\nencouraged to evaluate both to determine which best fits your intended use.\n\nRefer to [LICENSE.txt](https://github.com/ninject/ninject/blob/master/LICENSE.txt) for detailed information.\n\n## Changes history\n- [Changes in Ninject 3](https://github.com/ninject/ninject/wiki/Changes-in-Ninject-3)\n- [Changes in Ninject 2](https://github.com/ninject/ninject/wiki/Changes-in-Ninject-2)\n- [Detailed change log](https://github.com/ninject/ninject/blob/master/CHANGELOG.md)\n\n## Resources\n- [Project website](http://ninject.org/)\n- [Documentation](http://ninject.org/learn)\n- [Wiki](https://github.com/ninject/ninject/wiki)\n- [Nate's blog](http://kohari.org/)\n- [Ian's blog](http://innovatian.com/)\n- [Remo's blog](http://www.planetgeek.ch/author/remo-gloor/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninject%2Fninject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninject%2Fninject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninject%2Fninject/lists"}