标签归档:c-plus-plus

Assimp 导入和导出各种3D模型格式的库

打开资源导入库(ASSIMP)

用于导入和导出各种3D模型格式的库,包括生成缺失渲染数据的场景后处理

当前项目状态










提供了面向C和C++的API。有到其他语言(C#、Java、Python、Delphi、D)的各种绑定。Assimp也可以在Android和iOS上运行。此外,assimp还具有各种网格后处理工具:法线和切线空间生成、三角剖分、顶点缓存局部性优化、移除退化的基本体和重复顶点、按基本体类型排序、合并冗余材质等等

最新单据的

请在以下地址查阅最新文件:Asset-Importer-Lib-Doc

参与进来吧

这是包含最新功能和错误修复的开发资源库。不过,为了更有效地使用,我们建议使用可从以下网址获得的稳定版本之一Github Assimp Releases
你在文档里发现窃听器了吗?使用Doc-Repo
请同时查看我们的维基:https://github.com/assimp/assimp/wiki

如果您想查看我们的模型数据库,请使用以下回购:https://github.com/assimp/assimp-mdb

支持的文件格式

您可以找到支持的文件格式的完整列表here

大楼

让我们来看看https://github.com/assimp/assimp/blob/master/Build.md文件。我们在vcpkg中可用,并且我们的构建系统是CMake;如果您以前使用过CMake,那么您很有可能知道要做什么

端口

其他工具

open3mod是基于Assimp的导入和导出功能的功能强大的3D模型查看器

存储库结构

Open Asset Import Library是用C++实现的。目录结构如下所示:

/code		Source code
/contrib	Third-party libraries
/doc		Documentation (doxysource and pre-compiled docs)
/include	Public header C and C++ header files
/scripts 	Scripts used to generate the loading code for some formats
/port		Ports to other languages and scripts to maintain those.
/test		Unit- and regression tests, test suite of models
/tools		Tools (old assimp viewer, command line `assimp`)
/samples	A small number of samples to illustrate possible
                    use cases for Assimp

源代码的组织方式如下:

code/Common			The base implementation for importers and the infrastructure
code/PostProcessing		The post-processing steps
code/AssetLib/<FormatName>	Implementation for import and export for the format

从哪里获得帮助

有关更多信息,请访问our website或查看./doc-文件夹,包含HTML格式的官方文档。(适用于Windows的CHM包含在某些版本包中,应位于此处的根文件夹中)

如果医生不能解决你的问题,那就问吧StackOverflow with the assimp-tag如果您认为您发现了错误,请在Github上打开一个问题

开放式资源导入库是一个库,用于将各种3D文件格式加载到共享的内存格式中。它支持的不只是40种文件格式用于导入,以及越来越多的文件格式可供选择用于导出

我们还有一个Gitter频道:Gitter

贡献

我们高度赞赏对ASSIMP的贡献。参与进来的最简单方式是提交一个拉取请求,其中包含您对主存储库的master分支机构

贡献者

代码贡献者

这个项目的存在要归功于所有做出贡献的人。[Contribute]

财政捐赠者

成为一名财政捐赠者,帮助我们维持我们的社区。[Contribute]

个人

组织机构

与您的组织一起支持此项目。您的徽标将在此处显示,并带有指向您的网站的链接。[Contribute]

许可证

我们的执照是基于修改后的,3-子句BSD-许可证

一个非正式的总结是:想做什么就做什么,但在您的产品中包含Assimp的许可文本-如果我们的代码不起作用,不要起诉我们。请注意,与LGPLed代码不同,您可以静态链接到Assimp。有关法律详细信息,请参阅LICENSE文件

为什么要取这个名字?

对不起,我们是德国人:-),没有以英语为母语的人

Mal-MAL-做一个Lisp

MAL-做一个Lisp

描述

1.Mal是一个受Clojure启发的Lisp解释器

2.MAL是一种学习工具

MAL的每个实现被分成11个增量的、自包含的(且可测试的)步骤,这些步骤演示了Lisp的核心概念。最后一步是能够自托管(运行mal的错误实现)。请参阅make-a-lisp process
guide

Make-a-LISP步骤包括:

每个Make-a-LISP步骤都有一个关联的架构图。该步骤的新元素以红色高亮显示。以下是step A

如果您对创建mal实现感兴趣(或者只是对使用mal做某事感兴趣),欢迎您加入我们的Discord或加入#mal onlibera.chat除了make-a-lisp
process guide
还有一个mal/make-a-lisp
FAQ
在这里我试图回答一些常见的问题

3.MAL用86种语言实现(91种不同实现,113种运行模式)

语言 创建者
Ada Chris Moore
Ada #2 Nicolas Boulenguez
GNU Awk Miutsuru Kariya
Bash 4 Joel Martin
BASIC(C64和QBASIC) Joel Martin
BBC BASIC V Ben Harris
C Joel Martin
C #2 Duncan Watts
C++ Stephen Thirlwall
C# Joel Martin
ChucK Vasilij Schneidermann
Clojure(Clojure和ClojureScript) Joel Martin
CoffeeScript Joel Martin
Common Lisp Iqbal Ansari
Crystal Linda_pp
D Dov Murik
Dart Harry Terkelsen
Elixir Martin Ek
Elm Jos van Bakel
Emacs Lisp Vasilij Schneidermann
Erlang Nathan Fiedler
ES6(ECMAScript 2015) Joel Martin
F# Peter Stephens
Factor Jordan Lewis
Fantom Dov Murik
Fennel sogaiu
Forth Chris Houser
GNU Guile Mu Lei
GNU Smalltalk Vasilij Schneidermann
Go Joel Martin
Groovy Joel Martin
Haskell Joel Martin
Haxe(Neko、Python、C++和JS) Joel Martin
Hy Joel Martin
Io Dov Murik
Janet sogaiu
Java Joel Martin
Java(松露/GraalVM) Matt McGill
JavaScript(Demo) Joel Martin
jq Ali MohammadPur
Julia Joel Martin
Kotlin Javier Fernandez-Ivern
LiveScript Jos van Bakel
Logo Dov Murik
Lua Joel Martin
GNU Make Joel Martin
mal itself Joel Martin
MATLAB(GNU Octave&MATLAB) Joel Martin
miniMAL(RepoDemo) Joel Martin
NASM Ben Dudson
Nim Dennis Felsing
Object Pascal Joel Martin
Objective C Joel Martin
OCaml Chris Houser
Perl Joel Martin
Perl 6 Hinrik Örn Sigurðsson
PHP Joel Martin
Picolisp Vasilij Schneidermann
Pike Dov Murik
PL/pgSQL(PostgreSQL) Joel Martin
PL/SQL(Oracle) Joel Martin
PostScript Joel Martin
PowerShell Joel Martin
Prolog Nicolas Boulenguez
Python(2.x和3.x) Joel Martin
Python #2(3.x) Gavin Lewis
RPython Joel Martin
R Joel Martin
Racket Joel Martin
Rexx Dov Murik
Ruby Joel Martin
Rust Joel Martin
Scala Joel Martin
Scheme (R7RS) Vasilij Schneidermann
Skew Dov Murik
Standard ML Fabian Bergström
Swift 2 Keith Rollin
Swift 3 Joel Martin
Swift 4 陆遥
Swift 5 Oleg Montak
Tcl Dov Murik
TypeScript Masahiro Wakame
Vala Simon Tatham
VHDL Dov Murik
Vimscript Dov Murik
Visual Basic.NET Joel Martin
WebAssembly(WASM) Joel Martin
Wren Dov Murik
XSLT Ali MohammadPur
Yorick Dov Murik
Zig Josh Tobin

演示文稿

Mal第一次出现在2014年Clojure West的闪电演讲中(不幸的是没有视频)。参见Examples/clojurewest2014.mal了解会议上的演示文稿(是的,该演示文稿是一个MALL程序)

在Midwest.io 2015上,乔尔·马丁(Joel Martin)就MAL做了题为“解锁的成就:一条更好的语言学习之路”的演讲VideoSlides

最近,乔尔在LambdaConf 2016大会上发表了题为“用10个增量步骤打造自己的Lisp解释器”的演讲:Part 1Part 2Part 3Part 4Slides

构建/运行实现

运行任何给定实现的最简单方法是使用docker。每个实现都有一个预先构建的停靠器映像,其中安装了语言依赖项。您可以在顶层Makefile中使用一个方便的目标启动REPL(其中impl是实现目录名,stepX是要运行的步骤):

make DOCKERIZE=1 "repl^IMPL^stepX"
    # OR stepA is the default step:
make DOCKERIZE=1 "repl^IMPL"

外部实现

以下实施作为单独的项目进行维护:

HolyC

生锈

  • by Tim Morgan
  • by vi-使用Pest语法,不使用典型的MAL基础设施(货币化步骤和内置的转换测试)

问:

  • by Ali Mohammad Pur-Q实现运行良好,但它需要专有的手动下载,不能Docker化(或集成到mal CI管道中),因此目前它仍然是一个单独的项目

其他MAL项目

  • malc详细说明:MAL(Make A Lisp)编译器。将MAL程序编译成LLVM汇编语言,然后编译成二进制
  • malcc-malcc是MAL语言的增量编译器实现。它使用微型C编译器作为编译器后端,并且完全支持MAL语言,包括宏、尾部调用消除,甚至运行时求值。“I Built a Lisp Compiler”发布有关该过程的帖子
  • frock+Clojure风格的PHP。使用mal/php运行程序
  • flk-无论Bash在哪里都可以运行的LISP
  • glisp详细说明:基于Lisp的自引导图形设计工具。Live Demo

实施详情

Ada

Ada实现是在Debian上使用GNAT4.9开发的。如果您有git、gnat和make(可选)的windows版本,它也可以在windows上编译而不变。没有外部依赖项(未实现ReadLine)

cd impls/ada
make
./stepX_YYY

Ada.2

第二个Ada实现是使用GNAT 8开发的,并与GNU读取线库链接

cd impls/ada
make
./stepX_YYY

GNU awk

Mal的GNU awk实现已经使用GNU awk 4.1.1进行了测试

cd impls/gawk
gawk -O -f stepX_YYY.awk

BASH 4

cd impls/bash
bash stepX_YYY.sh

基本(C64和QBasic)

Basic实现使用一个预处理器,该预处理器可以生成与C64 Basic(CBMv2)和QBasic兼容的Basic代码。C64模式已经过测试cbmbasic(当前需要打补丁的版本来修复线路输入问题),并且QBasic模式已经过测试qb64

生成C64代码并使用cbmbasic运行:

cd impls/basic
make stepX_YYY.bas
STEP=stepX_YYY ./run

生成QBasic代码并加载到qb64中:

cd impls/basic
make MODE=qbasic stepX_YYY.bas
./qb64 stepX_YYY.bas

感谢Steven Syrek有关此实现的原始灵感,请参阅

BBC Basic V

BBC Basic V实现可以在Brandy解释器中运行:

cd impls/bbc-basic
brandy -quit stepX_YYY.bbc

或在RISC OS 3或更高版本下的ARM BBC Basic V中:

*Dir bbc-basic.riscos
*Run setup
*Run stepX_YYY

C

mal的C实现需要以下库(lib和头包):glib、libffi6、libgc以及libedit或GNU readline库

cd impls/c
make
./stepX_YYY

C.2

mal的第二个C实现需要以下库(lib和头包):libedit、libgc、libdl和libffi

cd impls/c.2
make
./stepX_YYY

C++

构建mal的C++实现需要g++-4.9或clang++-3.5和readline兼容库。请参阅cpp/README.md有关更多详细信息,请执行以下操作:

cd impls/cpp
make
    # OR
make CXX=clang++-3.5
./stepX_YYY

C#

mal的C#实现已经在Linux上使用Mono C#编译器(MCS)和Mono运行时(2.10.8.1版)进行了测试。两者都是构建和运行C#实现所必需的

cd impls/cs
make
mono ./stepX_YYY.exe

卡盘

Chuck实现已经使用Chuck 1.3.5.2进行了测试

cd impls/chuck
./run

封闭式

在很大程度上,Clojure实现需要Clojure 1.5,然而,要通过所有测试,则需要Clojure 1.8.0-RC4

cd impls/clojure
lein with-profile +stepX trampoline run

CoffeeScript

sudo npm install -g coffee-script
cd impls/coffee
coffee ./stepX_YYY

通用Lisp

该实现已经在Ubuntu 16.04和Ubuntu 12.04上使用SBCL、CCL、CMUCL、GNU CLISP、ECL和Allegro CL进行了测试,请参阅README了解更多详细信息。如果您安装了上述依赖项,请执行以下操作来运行实现

cd impls/common-lisp
make
./run

水晶

MAL的晶体实现已经用Crystal 0.26.1进行了测试

cd impls/crystal
crystal run ./stepX_YYY.cr
    # OR
make   # needed to run tests
./stepX_YYY

D

使用GDC4.8对MAL的D实现进行了测试。它需要GNU读取线库

cd impls/d
make
./stepX_YYY

省道

DART实施已使用DART 1.20进行了测试

cd impls/dart
dart ./stepX_YYY

Emacs Lisp

Emacs Lisp的MAL实现已经使用Emacs 24.3和24.5进行了测试。虽然有非常基本的读数行编辑(<backspace>C-d工作,C-c取消进程),建议使用rlwrap

cd impls/elisp
emacs -Q --batch --load stepX_YYY.el
# with full readline support
rlwrap emacs -Q --batch --load stepX_YYY.el

灵丹妙药

MAL的长生不老的实现已经在长生不老的长生不老的1.0.5中进行了测试

cd impls/elixir
mix stepX_YYY
# Or with readline/line editing functionality:
iex -S mix stepX_YYY

榆树

MAL的ELM实现已经用ELM 0.18.0进行了测试

cd impls/elm
make stepX_YYY.js
STEP=stepX_YYY ./run

二郎

Mal的Erlang实现需要Erlang/OTP R17rebar要建造

cd impls/erlang
make
    # OR
MAL_STEP=stepX_YYY rebar compile escriptize # build individual step
./stepX_YYY

ES6(ECMAScript 2015)

ES6/ECMAScript 2015实施使用babel用于生成ES5兼容JavaScript的编译器。生成的代码已经在Node 0.12.4上进行了测试

cd impls/es6
make
node build/stepX_YYY.js

F#

mal的F#实现已经在Linux上使用Mono F#编译器(Fsharpc)和Mono运行时(版本3.12.1)进行了测试。单C#编译器(MCS)也是编译readline依赖项所必需的。所有这些都是构建和运行F#实现所必需的

cd impls/fsharp
make
mono ./stepX_YYY.exe

因素

MAL的因子实现已通过因子0.97(factorcode.org)

cd impls/factor
FACTOR_ROOTS=. factor -run=stepX_YYY

幻影

MAL的幻象实现已经用幻象1.0.70进行了测试

cd impls/fantom
make lib/fan/stepX_YYY.pod
STEP=stepX_YYY ./run

茴香

Mal的Fennel实现已经在Lua5.4上使用Fennel版本0.9.1进行了测试

cd impls/fennel
fennel ./stepX_YYY.fnl

第四

cd impls/forth
gforth stepX_YYY.fs

GNU Guile 2.1+

cd impls/guile
guile -L ./ stepX_YYY.scm

GNU Smalltalk

MALL的Smalltalk实现已经在GNU Smalltalk 3.2.91上进行了测试

cd impls/gnu-smalltalk
./run

MALL的GO实现要求在路径上安装GO。该实现已经在GO 1.3.1上进行了测试

cd impls/go
make
./stepX_YYY

时髦的

mal的Groovy实现需要Groovy才能运行,并且已经使用Groovy 1.8.6进行了测试

cd impls/groovy
make
groovy ./stepX_YYY.groovy

哈斯克尔

Haskell实现需要GHC编译器版本7.10.1或更高版本以及Haskell parsec和readline(或editline)包

cd impls/haskell
make
./stepX_YYY

Haxe(Neko、Python、C++和JavaScript)

Mal的Haxe实现需要编译Haxe3.2版。支持四种不同的Haxe目标:neko、Python、C++和JavaScript

cd impls/haxe
# Neko
make all-neko
neko ./stepX_YYY.n
# Python
make all-python
python3 ./stepX_YYY.py
# C++
make all-cpp
./cpp/stepX_YYY
# JavaScript
make all-js
node ./stepX_YYY.js

干草

MAL的Hy实现已经用Hy 0.13.0进行了测试

cd impls/hy
./stepX_YYY.hy

IO

已使用IO版本20110905测试了MAL的IO实现

cd impls/io
io ./stepX_YYY.io

珍妮特

MAIL的Janet实现已经使用Janet版本1.12.2进行了测试

cd impls/janet
janet ./stepX_YYY.janet

Java 1.7

mal的Java实现需要maven2来构建

cd impls/java
mvn compile
mvn -quiet exec:java -Dexec.mainClass=mal.stepX_YYY
    # OR
mvn -quiet exec:java -Dexec.mainClass=mal.stepX_YYY -Dexec.args="CMDLINE_ARGS"

Java,将Truffle用于GraalVM

这个Java实现可以在OpenJDK上运行,但是多亏了Truffle框架,它在GraalVM上的运行速度可以提高30倍。它已经在OpenJDK 11、GraalVM CE 20.1.0和GraalVM CE 21.1.0上进行了测试

cd impls/java-truffle
./gradlew build
STEP=stepX_YYY ./run

JavaScript/节点

cd impls/js
npm install
node stepX_YYY.js

朱莉娅

Mal的Julia实现需要Julia 0.4

cd impls/julia
julia stepX_YYY.jl

JQ

针对1.6版进行了测试,IO部门存在大量作弊行为

cd impls/jq
STEP=stepA_YYY ./run
    # with Debug
DEBUG=true STEP=stepA_YYY ./run

科特林

MAL的Kotlin实现已经使用Kotlin 1.0进行了测试

cd impls/kotlin
make
java -jar stepX_YYY.jar

LiveScript

已使用LiveScript 1.5测试了mal的LiveScript实现

cd impls/livescript
make
node_modules/.bin/lsc stepX_YYY.ls

徽标

MAL的Logo实现已经用UCBLogo 6.0进行了测试

cd impls/logo
logo stepX_YYY.lg

路亚

Mal的Lua实现已经使用Lua 5.3.5进行了测试。该实现需要安装luarock

cd impls/lua
make  # to build and link linenoise.so and rex_pcre.so
./stepX_YYY.lua

男性

运行mal的错误实现包括运行其他实现之一的STEPA,并传递作为命令行参数运行的mal步骤

cd impls/IMPL
IMPL_STEPA_CMD ../mal/stepX_YYY.mal

GNU Make 3.81

cd impls/make
make -f stepX_YYY.mk

NASM

MAL的NASM实现是为x86-64 Linux编写的,并且已经在Linux 3.16.0-4-AMD64和NASM版本2.11.05上进行了测试

cd impls/nasm
make
./stepX_YYY

NIM 1.0.4

MAL的NIM实现已经使用NIM 1.0.4进行了测试

cd impls/nim
make
  # OR
nimble build
./stepX_YYY

对象PASCAL

MAL的对象Pascal实现已经使用Free Pascal编译器版本2.6.2和2.6.4在Linux上构建和测试

cd impls/objpascal
make
./stepX_YYY

目标C

Mal的Objective C实现已经在Linux上使用CLANG/LLVM3.6进行了构建和测试。它还使用XCode7在OS X上进行了构建和测试

cd impls/objc
make
./stepX_YYY

OCaml 4.01.0

cd impls/ocaml
make
./stepX_YYY

MATLAB(GNU倍频程和MATLAB)

MATLAB实现已经在GNU Octave 4.2.1上进行了测试。它还在Linux上用MATLAB版本R2014a进行了测试。请注意,matlab是一个商业产品。

cd impls/matlab
./stepX_YYY
octave -q --no-gui --no-history --eval "stepX_YYY();quit;"
matlab -nodisplay -nosplash -nodesktop -nojvm -r "stepX_YYY();quit;"
    # OR with command line arguments
octave -q --no-gui --no-history --eval "stepX_YYY('arg1','arg2');quit;"
matlab -nodisplay -nosplash -nodesktop -nojvm -r "stepX_YYY('arg1','arg2');quit;"

极小值

miniMAL是用不到1024字节的JavaScript实现的小型Lisp解释器。要运行mal的最小实现,您需要下载/安装最小解释器(这需要Node.js)

cd impls/miniMAL
# Download miniMAL and dependencies
npm install
export PATH=`pwd`/node_modules/minimal-lisp/:$PATH
# Now run mal implementation in miniMAL
miniMAL ./stepX_YYY

Perl 5

Perl 5实现应该使用Perl 5.19.3和更高版本

要获得读取行编辑支持,请从CPAN安装Term::ReadLine::Perl或Term::ReadLine::GNU

cd impls/perl
perl stepX_YYY.pl

Perl 6

Perl6实现在Rakudo Perl6 2016.04上进行了测试

cd impls/perl6
perl6 stepX_YYY.pl

PHP 5.3

mal的PHP实现需要php命令行界面才能运行

cd impls/php
php stepX_YYY.php

皮奥利普

Picolisp实现需要libreadline和Picolisp 3.1.11或更高版本

cd impls/picolisp
./run

派克

Pike实现在Pike8.0上进行了测试

cd impls/pike
pike stepX_YYY.pike

pl/pgSQL(PostgreSQL SQL过程语言)

mal的PL/pgSQL实现需要一个正在运行的PostgreSQL服务器(“kanaka/mal-test-plpgsql”docker映像自动启动PostgreSQL服务器)。该实现连接到PostgreSQL服务器并创建名为“mal”的数据库来存储表和存储过程。包装器脚本使用psql命令连接到服务器,并默认为用户“postgres”,但可以使用PSQL_USER环境变量覆盖该值。可以使用PGPASSWORD环境变量指定密码。该实现已使用PostgreSQL 9.4进行了测试

cd impls/plpgsql
./wrap.sh stepX_YYY.sql
    # OR
PSQL_USER=myuser PGPASSWORD=mypass ./wrap.sh stepX_YYY.sql

PL/SQL(Oracle SQL过程语言)

mal的PL/SQL实现需要一个正在运行的Oracle DB服务器(“kanaka/mal-test-plsql”docker映像自动启动Oracle Express服务器)。该实现连接到Oracle服务器以创建类型、表和存储过程。默认的SQL*Plus登录值(用户名/口令@CONNECT_IDENTIFIER)是“SYSTEM/ORACLE”,但是可以用ORACLE_LOGON环境变量覆盖该值。该实施已使用Oracle Express Edition 11g Release 2进行了测试。请注意,任何SQL*Plus连接警告(用户密码过期等)都会干扰包装脚本与数据库通信的能力

cd impls/plsql
./wrap.sh stepX_YYY.sql
    # OR
ORACLE_LOGON=myuser/mypass@ORCL ./wrap.sh stepX_YYY.sql

PostScript Level 2/3

mal的PostScript实现需要运行Ghostscript。它已经使用Ghostscript 9.10进行了测试

cd impls/ps
gs -q -dNODISPLAY -I./ stepX_YYY.ps

PowerShell

Mal的PowerShell实现需要PowerShell脚本语言。它已经在Linux上使用PowerShell 6.0.0 Alpha 9进行了测试

cd impls/powershell
powershell ./stepX_YYY.ps1

序言

Prolog实现使用了一些特定于SWI-Prolog的结构,包括READLINE支持,并且已经在8.2.1版的Debian GNU/Linux上进行了测试

cd impls/prolog
swipl stepX_YYY

Python(2.x和3.x)

cd impls/python
python stepX_YYY.py

Python2(3.x)

第二个Python实现大量使用类型注释并使用Arpeggio解析器库

# Recommended: do these steps in a Python virtual environment.
pip3 install Arpeggio==1.9.0
python3 stepX_YYY.py

RPython

你一定是rpython在您的路径上(随附pypy)

cd impls/rpython
make        # this takes a very long time
./stepX_YYY

R

MALL R实现需要R(r-base-core)来运行

cd impls/r
make libs  # to download and build rdyncall
Rscript stepX_YYY.r

球拍(5.3)

Mal的racket实现需要运行racket编译器/解释器

cd impls/racket
./stepX_YYY.rkt

雷克斯

Mal的Rexx实现已经使用Regina Rexx 3.6进行了测试

cd impls/rexx
make
rexx -a ./stepX_YYY.rexxpp

拼音(1.9+)

cd impls/ruby
ruby stepX_YYY.rb

生锈(1.38+)

Mal的Rust实现需要使用Rust编译器和构建工具(Cargo)来构建

cd impls/rust
cargo run --release --bin stepX_YYY

缩放比例

安装Scala和SBT(http://www.scala-sbt.org/0.13/tutorial/Installing-sbt-on-Linux.html):

cd impls/scala
sbt 'run-main stepX_YYY'
    # OR
sbt compile
scala -classpath target/scala*/classes stepX_YYY

方案(R7RS)

MAL的方案实施已在赤壁-方案0.7.3、卡瓦2.4、高车0.9.5、鸡肉4.11.0、人马座0.8.3、气旋0.6.3(Git版本)和Foment 0.4(Git版本)上进行了测试。在弄清库是如何加载的并调整了R7RS实现的基础上,您应该能够让它在其他符合R7RS标准的实现上运行Makefilerun相应地编写脚本

cd impls/scheme
make symlinks
# chibi
scheme_MODE=chibi ./run
# kawa
make kawa
scheme_MODE=kawa ./run
# gauche
scheme_MODE=gauche ./run
# chicken
make chicken
scheme_MODE=chicken ./run
# sagittarius
scheme_MODE=sagittarius ./run
# cyclone
make cyclone
scheme_MODE=cyclone ./run
# foment
scheme_MODE=foment ./run

歪斜

MAL的不对称实现已经使用不对称0.7.42进行了测试

cd impls/skew
make
node stepX_YYY.js

标准ML(Poly/ML、MLton、莫斯科ML)

Mal的标准ML实现需要一个SML97实施。Makefile支持POLY/ML、MLTON、MOVICO ML,并已在POLY/ML 5.8.1、MLTON 20210117和MOSSIONS ML版本2.10上进行了测试

cd impls/sml
# Poly/ML
make sml_MODE=polyml
./stepX_YYY
# MLton
make sml_MODE=mlton
./stepX_YYY
# Moscow ML
make sml_MODE=mosml
./stepX_YYY

斯威夫特

MALL的SWIFT实施需要SWIFT 2.0编译器(XCode 7.0)来构建。由于语言和标准库中的更改,旧版本将无法运行

cd impls/swift
make
./stepX_YYY

斯威夫特3

MALL的SWIFT 3实施需要SWIFT 3.0编译器。它已经在SWIFT 3预览版3上进行了测试

cd impls/swift3
make
./stepX_YYY

斯威夫特4

MALL的SWIFT 4实施需要SWIFT 4.0编译器。它已在SWIFT 4.2.3版本中进行了测试

cd impls/swift4
make
./stepX_YYY

SWIFT 5

MALL的SWIFT 5实施需要SWIFT 5.0编译器。它已在SWIFT 5.1.1版本中进行了测试

cd impls/swift5
swift run stepX_YYY

TCL 8.6

Mal的Tcl实现需要运行Tcl 8.6。要获得readline行编辑支持,请安装tclreadline

cd impls/tcl
tclsh ./stepX_YYY.tcl

打字稿

mal的TypeScript实现需要TypeScript 2.2编译器。它已经在Node.js V6上进行了测试

cd impls/ts
make
node ./stepX_YYY.js

瓦拉

MALL的VALA实现已经用VALA0.40.8编译器进行了测试。您将需要安装valaclibreadline-dev或同等的

cd impls/vala
make
./stepX_YYY

VHDL

用GHDL0.29对mal的vhdl实现进行了测试。

cd impls/vhdl
make
./run_vhdl.sh ./stepX_YYY

Vimscript

Mal的Vimscript实现需要运行Vim 8.0

cd impls/vimscript
./run_vimscript.sh ./stepX_YYY.vim

Visual Basic.NET

Mal的VB.NET实现已经在Linux上使用Mono VB编译器(Vbnc)和Mono运行时(2.10.8.1版)进行了测试。构建和运行VB.NET实现需要两者

cd impls/vb
make
mono ./stepX_YYY.exe

WebAssembly(Wasm)

WebAssembly实现是用Wam(WebAssembly宏语言),并在几种不同的非Web嵌入(运行时)下运行:nodewasmtimewasmerlucetwaxwacewarpy

cd impls/wasm
# node
make wasm_MODE=node
./run.js ./stepX_YYY.wasm
# wasmtime
make wasm_MODE=wasmtime
wasmtime --dir=./ --dir=../ --dir=/ ./stepX_YYY.wasm
# wasmer
make wasm_MODE=wasmer
wasmer run --dir=./ --dir=../ --dir=/ ./stepX_YYY.wasm
# lucet
make wasm_MODE=lucet
lucet-wasi --dir=./:./ --dir=../:../ --dir=/:/ ./stepX_YYY.so
# wax
make wasm_MODE=wax
wax ./stepX_YYY.wasm
# wace
make wasm_MODE=wace_libc
wace ./stepX_YYY.wasm
# warpy
make wasm_MODE=warpy
warpy --argv --memory-pages 256 ./stepX_YYY.wasm

XSLT

mal的XSLT实现是用XSLT3编写的,并在Saxon 9.9.1.6家庭版上进行了测试

cd impls/xslt
STEP=stepX_YY ./run

雷恩

MAL的WREN实现在WREN 0.2.0上进行了测试

cd impls/wren
wren ./stepX_YYY.wren

约里克

MAL的Yorick实现在Yorick 2.2.04上进行了测试

cd impls/yorick
yorick -batch ./stepX_YYY.i

之字形

MAL的Zig实现在Zig0.5上进行了测试

cd impls/zig
zig build stepX_YYY

运行测试

顶层Makefile有许多有用的目标来协助实现、开发和测试。这个helpTarget提供目标和选项的列表:

make help

功能测试

中几乎有800个通用功能测试(针对所有实现)。tests/目录。每个步骤都有相应的测试文件,其中包含特定于该步骤的测试。这个runtest.py测试工具启动MAL步骤实现,然后将测试一次一个提供给实现,并将输出/返回值与预期的输出/返回值进行比较

  • 要在所有实现中运行所有测试(请准备等待):
make test
  • 要针对单个实施运行所有测试,请执行以下操作:
make "test^IMPL"

# e.g.
make "test^clojure"
make "test^js"
  • 要对所有实施运行单个步骤的测试,请执行以下操作:
make "test^stepX"

# e.g.
make "test^step2"
make "test^step7"
  • 要针对单个实施运行特定步骤的测试,请执行以下操作:
make "test^IMPL^stepX"

# e.g
make "test^ruby^step3"
make "test^ps^step4"

自托管功能测试

  • 若要在自托管模式下运行功能测试,请指定mal作为测试实现,并使用MAL_IMPLMake Variable以更改基础主机语言(默认值为JavaScript):
make MAL_IMPL=IMPL "test^mal^step2"

# e.g.
make "test^mal^step2"   # js is default
make MAL_IMPL=ruby "test^mal^step2"
make MAL_IMPL=python "test^mal^step2"

启动REPL

  • 要在特定步骤中启动实施的REPL,请执行以下操作:
make "repl^IMPL^stepX"

# e.g
make "repl^ruby^step3"
make "repl^ps^step4"
  • 如果您省略了这一步,那么stepA使用的是:
make "repl^IMPL"

# e.g
make "repl^ruby"
make "repl^ps"
  • 若要启动自托管实现的REPL,请指定mal作为REPL实现,并使用MAL_IMPLMake Variable以更改基础主机语言(默认值为JavaScript):
make MAL_IMPL=IMPL "repl^mal^stepX"

# e.g.
make "repl^mal^step2"   # js is default
make MAL_IMPL=ruby "repl^mal^step2"
make MAL_IMPL=python "repl^mal"

性能测试

警告:这些性能测试在统计上既不有效,也不全面;运行时性能不是mal的主要目标。如果你从这些性能测试中得出任何严肃的结论,那么请联系我,了解堪萨斯州一些令人惊叹的海滨房产,我愿意以低价卖给你

  • 要针对单个实施运行性能测试,请执行以下操作:
make "perf^IMPL"

# e.g.
make "perf^js"
  • 要对所有实施运行性能测试,请执行以下操作:
make "perf"

正在生成语言统计信息

  • 要报告单个实施的行和字节统计信息,请执行以下操作:
make "stats^IMPL"

# e.g.
make "stats^js"

对接测试

每个实现目录都包含一个Dockerfile,用于创建包含该实现的所有依赖项的docker映像。此外,顶级Makefile还支持在停靠器容器中通过传递以下参数来运行测试目标(以及perf、stats、repl等“DOCKERIZE=1”在make命令行上。例如:

make DOCKERIZE=1 "test^js^step3"

现有实现已经构建了坞站映像,并将其推送到坞站注册表。但是,如果您希望在本地构建或重建坞站映像,TopLevel Makefile提供了构建坞站映像的规则:

make "docker-build^IMPL"

注意事项

  • Docker镜像被命名为“Kanaka/mal-test-iml”
  • 基于JVM的语言实现(Groovy、Java、Clojure、Scala):您可能需要首先手动运行此命令一次make DOCKERIZE=1 "repl^IMPL"然后才能运行测试,因为需要下载运行时依赖项以避免测试超时。这些依赖项被下载到/mal目录中的点文件中,因此它们将在两次运行之间保持不变

许可证

MAL(make-a-lisp)是根据MPL 2.0(Mozilla Public License 2.0)许可的。有关更多详细信息,请参阅LICENSE.txt

Flatbuffers-FlatBuffers:内存效率高的串行化库

Flatbuffers

Flatbuffers是一个跨平台的序列化库,旨在实现最高的内存效率。它允许您直接访问序列化数据,而无需先对其进行解析/解包,同时仍具有很好的向前/向后兼容性

请访问我们的landing page浏览我们的文档

支持的操作系统

  • Windows
  • MacOS X
  • Linux操作系统
  • 安卓系统
  • 以及使用最新的C++编译器的任何其他版本

支持的编程语言

  • C++
  • C#
  • C
  • GO
  • Java语言
  • JavaScript
  • PHP
  • python
  • Rust

还有更多的正在进行中

贡献

为这个项目做贡献,看见CONTRIBUTING

安全性

请参阅我们的Security Policy用于报告漏洞

许可

平缓冲器是按照Apache许可证2.0版进行许可的。看见LICENSE有关完整的许可证文本,请参阅

CNTK-微软认知工具包(CNTK),一个开源的深度学习工具包

CNTK

聊天 Windows生成状态 Linux构建状态

Microsoft认知工具包(https://cntk.ai)是一个统一的深度学习工具包,它通过有向图将神经网络描述为一系列计算步骤。在这个有向图中,叶节点表示输入值或网络参数,而其他节点表示对其输入的矩阵运算。CNTK允许用户轻松地实现和组合流行的模型类型,例如前馈DNN、卷积网络(CNN)和递归网络(RNNs/LSTM)。它通过跨多个GPU和服务器的自动区分和并行化实现随机梯度下降(SGD,误差反向传播)学习。自2015年4月以来,CNTK一直在开源许可证下提供。我们希望社区能够利用CNTK的优势,通过开放源码工作代码的交流,更快地分享想法

安装

安装夜间软件包

如果您更喜欢使用MASTER的最新CNTK位,请使用CNTK夜间软件包之一:

学习CNTK

您可以通过以下资源了解更多关于使用和贡献CNTK的信息:

更多信息

免责声明

亲爱的社区:

随着我们对ONNX和ONNX Runtime的持续贡献,我们已经使AI框架生态系统内的互操作变得更容易,并为传统ML模型和深度神经网络访问高性能的跨平台推理功能。在过去的几年里,我们有幸开发了这样的关键开源机器学习项目,包括Microsoft Cognitive Toolkit,它使其用户能够利用整个行业在大规模深度学习方面的进步

今天的2.7版本将是CNTK的最后一个主要版本。我们可能会有一些后续的小版本来修复错误,但这些版本将根据具体情况进行评估。此版本之后没有开发新功能的计划

CNTK 2.7版本完全支持ONNX 1.4.1,我们鼓励那些寻求将其CNTK模型运行化的用户利用ONNX和ONNX Runtime。展望未来,用户可以通过众多支持ONNX的框架继续利用不断发展的ONNX创新。例如,用户可以从PyTorch本机导出ONNX模型,或使用TensorFlow-ONNX转换器将TensorFlow模型转换为ONNX

我们非常感谢自CNTK最初开放源码发布以来多年来我们从贡献者和用户那里得到的所有支持。CNTK使微软团队和外部用户都能够在各种深度学习应用程序中执行复杂而大规模的工作负载,例如该框架的创始人微软语音研究人员在语音识别方面取得的历史性突破

随着ONNX越来越多地被用于为Bing和Office等微软产品提供服务的模型,我们致力于将研究创新与生产的严格要求相结合,以推动生态系统向前发展

最重要的是,我们的目标是使跨软件和硬件堆栈的深度学习创新尽可能开放和可访问。我们将努力将CNTK的现有优势和最新的最新研究成果应用到其他开源项目中,以真正扩大此类技术的应用范围。

怀着感激之情,

–CNTK团队

Microsoft开放源代码行为准则

本项目采用了Microsoft Open Source Code of Conduct有关更多信息,请参阅Code of Conduct FAQ或联系方式opencode@microsoft.com如有任何其他问题或评论

新闻

您可以在以下网站上找到更多新闻the official project feed

2019-03-29CNTK 2.7.0

此版本的亮点

  • 已迁移到适用于Windows和Linux的CUDA 10
  • 在ONNX导出中支持高级RNN环路
  • 以ONNX格式导出大于2 GB的型号
  • 在大脑脚本训练动作中支持FP16

支持CUDA 10的CNTK

CNTK现在支持CUDA 10。这需要更新到Visual Studio 2017 v15.9 for Windows的构建环境

要在Windows上设置生成和运行时环境,请执行以下操作:

要使用docker在Linux上设置构建和运行时环境,请使用Dockerfiles构建Unbuntu 16.04坞站映像here对于其他Linux系统,请参考Dockerfile来设置CNTK的依赖库

在ONNX导出中支持高级RNN环路

带有递归循环的CNTK模型可以通过扫描操作导出到ONNX模型

以ONNX格式导出大于2 GB的型号

要以ONNX格式导出大于2 GB的模型,可使用cntk.Function API:Save(Self,FileName,Format=ModelFormat.CNTKv2,USE_EXTERNAL_FILES_TO_STORE_PARAMETERS=FALSE),并将‘Format’设置为ModelFormat.ONNX,将Use_External_Files_to_Store_Parameters设置为True。在这种情况下,模型参数保存在外部文件中。使用onnxrun进行模型评估时,导出的模型应与外部参数文件一起使用

2018/11/26
Netron现在支持可视化CNTK v1和CNTK v2.model文件

项目变更日志

2018-09-17CNTK 2.6.0

高效群卷积

对CNTK中的分组卷积实现进行了更新。更新后的实现不再创建分组卷积的子图(使用切片和拼接),而是直接使用cuDNN7和MKL2017API。这在性能和型号大小方面都改善了体验

例如,对于具有以下属性的单个组卷积OP:

  • 输入张量(C,H,W)=(32,128,128)
  • 输出通道数=32(通道倍增为1)
  • 组=32(深度卷积)
  • 内核大小=(5,5)

此单个节点的比较编号如下:

第一个标题 GPU EXEC。时间(单位为毫秒,平均运行1000次) CPU EXEC。时间(单位为毫秒,平均运行1000次) 模型大小(KB,CNTK格式)
旧实施 9.349 41.921 38
新实施 6.581 9.963 5个
加速/节约近似值 30%近似 65-75%近似 87%

顺序卷积

更新了CNTK中序列卷积的实现。更新后的实现创建单独的顺序卷积层。与规则卷积层不同,该操作还在动态轴(序列)上进行卷积,并将过滤_Shape[0]应用于该轴。更新后的实现支持更广泛的情况,例如序列轴的跨度>1

例如,对一批单通道黑白图像进行顺序卷积。这些图像的高度相同,固定为640,但每个图像的宽度都是可变的。然后,宽度由顺序轴表示。启用填充,宽度和高度的步长均为2

操作员

深度到空间和空间到深度

有一个突破性的变化,那就是深度到空间空间到深度操作员。这些已经更新,以符合ONNX规范,特别是深度维度在空间维度中作为块放置的排列方式,反之亦然。请参考这两个操作的更新文档示例以查看更改

谭恩美和阿坦

添加了对三角运算的支持TanAtan

ELU

添加了对以下各项的支持alphaELU操作中的属性

卷积

更新的自动填充算法Convolution在不影响最终卷积输出值的情况下,在CPU上尽最大努力产生对称填充。此更新增加了MKL API可以覆盖的案例范围,并提高了性能,例如ResNet50

默认参数顺序

有一个突破性的变化,那就是论据属性。默认行为已更新,以Python顺序而不是C++顺序返回参数。这样,它将以与输入到操作中相同的顺序返回参数。如果您仍然希望以C++顺序获取参数,只需覆盖全局选项即可。此更改应仅影响以下操作:Times、TransposeTimes和Gemm(内部)

错误修复

  • 已更新卷积图层的文档,以包括组参数和膨胀参数
  • 添加了改进的分组卷积输入验证
  • 已更新LogSoftMax要使用更稳定的数值实现,请执行以下操作
  • 修复了聚集OP的错误渐变值
  • 添加了对python克隆替换中的“None”节点的验证
  • 添加了卷积中填充通道轴的验证
  • 添加了CNTK本机默认lotusIR记录器,以修复加载某些ONNX型号时出现的“尝试使用DefaultLogger”错误
  • 添加了ONNX TypeStrToProtoMap的正确初始化
  • 更新了python doctest,以处理较新版本号(Version>=1.14)的不同打印格式
  • 当内核中心位于填充的输入单元上时,固定池(CPU)可生成正确的输出值

ONNX

更新

  • 更新了CNTK的ONNX导入/导出以使用ONNX 1.2规范
  • 对如何在导出和导入中处理批次和序列轴进行了重大更新。因此,可以准确地处理复杂场景和边缘情况
  • 更新了CNTK的ONNXBatchNormalizationOP导出/导入到最新规范
  • 将模型域添加到ONNX模型导出
  • 改进了ONNX型号导入和导出期间的错误报告
  • 已更新DepthToSpaceSpaceToDepth操作以匹配ONNX关于如何将深度维度放置为挡路维度的排列规范
  • 添加了对导出的支持alpha中的属性ELUONNX操作
  • 大修是为了ConvolutionPooling导出。与以前不同的是,这些操作不会导出显式Pad在任何情况下都可操作
  • 大修是为了ConvolutionTranspose导出和导入。属性,如output_shapeoutput_padding,以及pads完全支持
  • 添加了对CNTK的支持StopGradient作为一个禁区
  • 添加了对TOPK操作的ONNX支持
  • 添加了对序列操作的ONNX支持:Sequence.Slice、Sequence.first、Sequence.last、Sequence.duce_sum、Sequence.Reduce_max、Sequence.softmax。对于这些操作,不需要扩展ONNX规范。CNTK ONNX Exporter仅为这些序列操作构建计算等效图
  • 添加了对Softmax操作的完全支持
  • 使CNTK广播运营与ONNX规范兼容
  • 在CNTK ONNX导出器中处理TO_BATCH、TO_SEQUENCE、UNPACK_BATCH、Sequence.Unpack工序
  • 用于导出ONNX测试用例以供其他工具箱运行和验证的ONNX测试
  • 固定的Hardmax/Softmax/LogSoftmax导入/导出
  • 添加了对以下各项的支持SelectOP导出
  • 添加了对多个三角运算的导入/导出支持
  • 更新了对ONNX的CNTK支持MatMul操作
  • 更新了对ONNX的CNTK支持Gemm操作
  • 更新了CNTK的ONNXMeanVarianceNormalizationOP导出/导入到最新规范
  • 更新了CNTK的ONNXLayerNormalizationOP导出/导入到最新规范
  • 更新了CNTK的ONNXPReluOP导出/导入到最新规范
  • 更新了CNTK的ONNXGatherOP导出/导入到最新规范
  • 更新了CNTK的ONNXImageScalerOP导出/导入到最新规范
  • 更新了CNTK的ONNXReduce操作导出/导入到最新规范
  • 更新了CNTK的ONNXFlattenOP导出/导入到最新规范
  • 添加了对ONNX的CNTK支持Unsqueeze操作

错误或次要修复:

  • 更新了LRN OP以匹配ONNX 1.2规范,其中size属性具有直径的语义,而不是半径的语义。添加了LRN内核大小大于通道大小时的验证
  • 已更新Min/Max导入实现以处理各种输入
  • 修复了在现有ONNX模型文件上重新保存时可能出现的文件损坏

网络支持

Cntk.Core.Managed库已正式转换为.Net标准,并在Windows和Linux上支持.Net Core和.Net Framework应用程序。从这个版本开始,.NET开发人员应该能够使用新的.Net SDK样式项目文件(包管理格式设置为PackageReference)恢复CNTK Nuget包

下面的C#代码现在可以在Windows和Linux上运行:

例如,只需在.Net Core应用程序的.csproj文件中添加ItemGroup子句就足够了:>netcoreapp2.1>x64>

错误或次要修复:

  • 修复了Linux上C#string和char到本机wstring和wchar UTF转换的问题
  • 修复了代码库中的多字节和宽字符转换
  • 修复了针对.Net标准打包的Nuget包机制
  • 修复了C#API中值类中的内存泄漏问题,其中在对象销毁时不调用Dispose

杂项

2018-04-16CNTK 2.5.1

使用捆绑包中包含的第三方库(Python轮包)重新打包CNTK 2.5


2018-03-15CNTK 2.5

将探查器详细信息输出格式更改为chrome://tracing

启用逐节点计时。工作示例here

  • 启用探查器时,按节点计时会在探查器详细信息中创建项目
  • Python中的用法:
import cntk as C C.debugging.debug.set_node_timing(True) C.debugging.start_profiler() # optional C.debugging.enable_profiler() # optional #<trainer|evaluator|function> executions <trainer|evaluator|function>.print_node_timing() C.debugging.stop_profiler()

中的Profiler详细信息视图示例chrome://tracing

使用MKL提高CPU推理性能

  • 加速用于Float32的英特尔CPU推理中的一些常见张量运算,特别是对于完全连接的网络
  • 可以通过以下方式打开/关闭cntk.cntk_py.enable_cpueval_optimization()/cntk.cntk_py.disable_cpueval_optimization()

1BitSGD并入CNTK

  • 1BitSGD源代码现已随CNTK许可证(MIT许可证)一起在以下位置提供Source/1BitSGD/
  • 1bitsgd生成目标已合并到现有GPU目标中

新的损耗函数:分层Softmax

  • 感谢@耀诚记的贡献!

具有多个学习者的分布式培训

操作员

  • 已添加MeanVarianceNormalization操作员

错误修复

  • 修复了教程201b中的收敛问题
  • 固定的合用/解合,以支持序列的自由维度
  • 修复了中的崩溃CNTKBinaryFormat跨越扫描边界时的反序列化程序
  • 修正了RNN阶跃函数在标量广播中的形状推断错误
  • 修复了在以下情况下的构建错误mpi=no
  • 通过提高打包阈值和暴露V2中的旋钮来提高分布式训练聚合速度
  • 修复了MKL布局中的内存泄漏
  • 修复了中的错误cntk.convertAPI Inmisc.converter.py,这样可以防止将复杂的网络

ONNX

  • 更新
    • CNTK导出的ONNX型号现在ONNX.checker合规
    • 添加了对CNTK的ONNX支持OptimizedRNNStack操作员(仅限LSTM)
    • 添加了对LSTM和GRU运算符的支持
    • 添加了对实验性ONNX操作的支持MeanVarianceNormalization
    • 添加了对实验性ONNX操作的支持Identity
    • 添加了对导出CNTK的支持LayerNormalization使用ONNX的图层MeanVarianceNormalization操作
  • 错误或次要修复:
    • 轴属性在CNTK的ONNX中是可选的Concat操作员
    • 修复标量ONNX广播中的错误
    • 修复ONNX ConvTranspose运算符中的错误
    • 修复向后兼容性错误LeakyReLu(参数“alpha”恢复为双精度类型)

杂项

  • 添加了新的接口find_by_uid()在……下面cntk.logging.graph

2018-02-28CNTK支持夜间构建

如果您更喜欢使用MASTER提供的最新CNTK位,请使用CNTK夜间软件包之一

或者,您也可以单击相应的构建标记以登录到夜间构建页面


2018-01-31CNTK 2.4

亮点:

  • 已移至CUDA9、cuDNN 7和Visual Studio 2017
  • 删除了Python 3.4支持
  • 添加了Volta GPU和FP16支持
  • 更好的ONNX支持
  • CPU性能改进
  • 更多运营

运营部

  • top_k操作:在正向传递中,它计算沿指定轴的顶部(最大)k值和相应的索引。在后向传递中,梯度分散到顶部k个元素(不在顶部k中的元素获得零梯度)
  • gather操作现在支持轴参数
  • squeezeexpand_dims轻松移除和添加单一轴的操作
  • zeros_likeones_like运营部。在许多情况下,您可以仅仅依靠CNTK正确地广播一个简单的0或1,但有时您需要实际的张量
  • depth_to_space:将输入张量中的元素从深度维度重新排列到空间块中。此操作的典型用法是实现某些图像超分辨率模型的亚像素卷积
  • space_to_depth:将输入张量中的元素从空间维度重新排列到深度维度。它在很大程度上与DepthToSpace相反
  • sum操作:创建计算输入张量的元素求和的新函数实例
  • softsign操作:创建计算输入张量的元素软符号的新函数实例
  • asinh操作:创建一个新的函数实例,该实例计算输入张量的逐个元素的asinh
  • log_softmax操作:创建计算输入张量的logsoftmax规格化值的新函数实例
  • hard_sigmoid操作:创建计算输入张量的hard_sigmoid归一化值的新函数实例
  • element_andelement_notelement_orelement_xor基于元素的逻辑运算
  • reduce_l1操作:沿提供的轴计算输入张量元素的L1范数
  • reduce_l2操作:沿提供的轴计算输入张量元素的L2范数
  • reduce_sum_square操作:沿提供的轴计算输入张量元素的平方和
  • image_scaler操作:通过缩放图像的各个值来更改图像

ONNX

  • CNTK中对ONNX支持进行了多项改进
  • 更新
    • 更新的ONNXReshape要处理的操作InferredDimension
    • 添加producer_nameproducer_versionONNX模型的字段
    • 在两个都不是的情况下处理案件auto_pad也不是pads属性在ONNX中指定Conv操作
  • 错误修复
    • 修复了ONNX中的错误PoolingOP序列化
    • 修复错误以创建ONNXInputVariable只有一个批次轴
    • 对ONNX实施的错误修复和更新Transpose操作以匹配更新的规范
    • 对ONNX实施的错误修复和更新ConvConvTranspose,以及Pooling操作以匹配更新的规范

操作员

  • 群卷积
    • 修复了组卷积中的错误。CNTK的输出ConvolutionOP将针对>1的组进行更改。预计在下一版本中将对组卷积进行更优化的实施
    • 更好的分组卷积错误报告Convolution图层

卤化物二元卷积

  • CNTK版本现在可以使用可选Halide要构建的库Cntk.BinaryConvolution.so/dll库,该库可以与netopt模块。该库包含优化的二进制卷积操作符,其性能优于基于Python的二进制卷积操作符。要在内部版本中启用Halide,请下载Halide release并将其设置为HALIDE_PATH开始构建之前的环境变量。在Linux中,您可以使用./configure --with-halide[=directory]来启用它。有关如何使用此功能的详细信息,请参阅How_to_use_network_optimization

有关更多信息,请参阅Release NotesCNTK Releases page

Open-source-mac-os-apps 适用于MacOS的令人敬畏的开源应用程序列表

MacOS上令人敬畏的开源应用程序列表。这个列表包含许多本地的和跨平台的应用程序。这个资源库的主要目标是找到免费的开源应用程序并开始贡献。请随意……contribute对于名单,任何建议都是受欢迎的!

要接收所有新的或流行的应用程序,您可以加入我们的telegram chanel

支持

嘿,朋友!帮我弄几个🍻好了!

目录

应用程序

音频

  • AUHost-使用AVFoundation API托管AudioUnits v3的应用程序。
  • Audacity-免费、开源、跨平台的音频软件
  • Aural Player详细说明:音频播放器是一款适用于MacOS平台的音频播放器应用程序。灵感来自于经典的Winamp Player for Windows,它的设计切中要害,易于使用。
  • AutoMute-当耳机断开连接/Mac从睡眠中唤醒时,自动将声音静音。
  • Background Music-背景音乐,MacOS音频实用程序:自动暂停您的音乐,设置各个应用程序的音量,并录制系统音频。
  • BlackHole-BLACKHOLE是一个现代的MacOS虚拟音频驱动程序,它允许应用程序以零额外延迟将音频传递给其他应用程序。
  • CAM-MacOS摄像机使用ffmpeg录制
  • Clementine-Clementine是一款适用于Windows、Linux和MacOS的现代音乐播放器和库管理器。
  • Cog详细说明:Cog是MacOS的开源音频播放器。基本布局是单面板播放列表界面,有两个可伸缩的抽屉,一个用于导航用户的音乐文件夹,另一个用于查看音频文件属性,如比特率。
  • Karaoke Forever-举办令人惊叹的卡拉OK派对,每个人都可以在手机浏览器上排队歌曲。使用WebGL可视化效果播放MP3+G和MP4。
  • LocalRadio-LocalRadio是用于在您的Mac和移动设备上收听“软件定义广播”的软件。
  • Lyricism-MacOS应用程序,向你显示当前iTunes或Spotify正在播放的歌词。
  • LyricsX-iTunes、Spotify和Vox的歌词。
  • MPV-轻便、高度可配置的媒体播放器。
  • MonitorControl-直接从墨盒或使用键盘原生键控制外部显示器的亮度、对比度或音量。
  • Mous Player-简单但功能强大的BSD/Linux/MacOS音频播放器。
  • Music Bar-音乐栏是MacOS应用程序,可将音乐控件直接放在菜单栏中。
  • NoiseBuddy-在触摸栏或菜单栏中控制AirPods Pro上的收听模式。
  • PlayStatus-PlayStatus是一款MacOS应用程序,允许从菜单栏控制Spotify和iTunes音乐播放。
  • Scope-音频示波器
  • ShazamScrobbler-可擦除的黑胶唱片、收音机、电影到Last.fm。
  • Sonora-适用于MacOS的小巧、设计精美的音乐播放器。
  • SpotMenu-菜单栏中的Spotify和iTunes。
  • SpotSpot-适用于MacOS的Spotify迷你播放器。
  • Suohai-MacOS音频输入/输出源锁。
  • Tickeys-用于打字的即时音频反馈。MacOS版本。
  • Tuner-乐器调谐器
  • [Un]MuteMic-MacOS应用程序,可将麦克风的输入音量静音和取消静音。非常适合播客。
  • eqMac2-适用于Mac的系统范围均衡器。
  • fre:ac-fre:ac音频转换器项目。
  • iTunes-Volume-Control-此应用程序允许您使用音量增大和音量减小热键控制iTunes音量。
  • jmc-jmc是新的MacOS媒体管理器。
  • shairport-sync-MacOS/Linux/FreeBSD/OpenBSD Airplay音频接收器。
  • waveSDR-使用RTL-SDR USB设备的MacOS原生桌面软件定义的无线电应用程序。

备份

  • Mackup-使您的应用程序设置保持同步(MacOS/Linux)。
  • Syncalicious-保持多个MacOS首选项同步可能会很痛苦,但不应该如此。
  • UrBackup-UrBackup是适用于Windows、MacOS和Linux的Client/Server网络备份。
  • shallow-backup-轻松创建已安装应用程序、点文件等的轻量级文档。

浏览器

  • Beaker Browser-Beaker是一款实验性的点对点Web浏览器。
  • Brave Browser-适用于运行Windows、MacOS和Linux的台式机和笔记本电脑的Brave浏览器。
  • Chromium-Chromium是一个开源浏览器项目,旨在为所有用户构建更安全、更快、更稳定的网络体验方式。
  • Fathomecat-极简设计的试验性网页浏览器。运行Windows、MacOS和Linux。
  • Finicky-始终打开正确的浏览器。
  • Helium-MacOS的浮动浏览器窗口。
  • Pennywise-Pennywise在一个小的浮动窗口中打开任何网站或媒体,该窗口保留在所有其他应用程序的顶部。它是氦的一种很好的替代品。
  • Plash-让任何网站成为您的桌面墙纸。
  • browserosaurus-MacOS工具,在打开链接时提示您选择浏览器。
  • otter-browser-水獭浏览器旨在使用Qt5重新创建经典Opera(12.x)UI的最佳方面。
  • seb-mac-适用于MacOS和iOS的安全检查浏览器。

聊天

  • Beagle IM-功能强大的XMPP客户端,支持文件传输、VoIP和端到端加密。
  • ChitChat-WhatsApp Web的原生Mac应用程序包装。
  • Electronic WeChat-最好是在MacOS和LINUX上运行微信。
  • Element-Element是一款协作应用程序(当前为Electron),适用于Matrix协议。
  • Franz-Franz是WhatsApp、Slake、Messenger等服务的消息应用程序。
  • Google Allo for Desktop-适用于Google Allo的原生MacOS和Windows桌面应用程序。
  • GroupMe-非官方GroupMe App。
  • MessagesHistoryBrowser-MacOS应用程序,可轻松浏览和搜索Messages.app历史记录。
  • RocketChat-团队免费开源聊天系统。Slake的替代方案,也可以自行托管。
  • Seaglass-一个真正的土生土长的人MatrixMacOS客户端。
  • Signal Desktop-与您的Signal Android或Signal iOS应用程序链接的电子应用程序。
  • Telegram-SWIFT上MacOS的电报源代码。
  • Telegram Desktop-Telegram桌面消息应用程序。
  • Textual+Text是MacOS的IRC客户端。
  • Torchat-Mac-TorChat for Mac是MacOS原生的非官方torchat端口。
  • WhatsAppBar-从菜单栏发送WhatsApp消息。
  • Wire Desktop-聊天应用程序Wire的独立电子应用程序。

加密货币

  • Balance Open-适用于世界所有货币的App。
  • CoinBar-MacOS菜单栏应用程序,用于跟踪加密币价格。
  • Copay-适用于桌面和移动设备的安全比特币钱包平台。
  • Crypto Bar-使用Electron构建的MacOS菜单栏应用程序。
  • Float coin-原生菜单栏应用程序,具有浮动窗口,支持多种交换。

数据库

  • DB Browser for SQLite详细说明:SQLite数据库管理GUI。
  • DBeaver-通用数据库工具和SQL客户端。
  • Medis-💻Medis是一款漂亮、易用的适用于Redis的Mac数据库管理应用程序。
  • MongoHub-添加另一个轻量级Mac Native MongoDB客户端。
  • Postbird-MacOS的PostgreSQL GUI客户端。
  • Postgres.app-在Mac上开始使用PostgreSQL的最简单方式。
  • Redis Desktop Manager-适用于Redis®的跨平台开源数据库管理工具
  • Redis.app-在Mac上开始使用Redis的最简单方式。
  • Robo 3T详细说明:Robo 3T(前身为Robomongo)是面向MongoDB爱好者的免费轻量级GUI。
  • Sequel Ace-Sequel Ace是一款快速、易用的Mac数据库管理应用程序,用于处理MySQL和MariaDB数据库。
  • Sequel Pro-MacOS的MySQL/MariaDB数据库管理。
  • mongoDB.app-在Mac上开始使用MongoDB的最简单方式。
  • reventlou-个人数据库作为信息管理系统。

发展

  • Apache Netbeans-Apache NetBeans是一个IDE、工具平台和应用程序框架,适合用Java、JavaScript、PHP、HTML5、CSS等进行开发。
  • ColorSet-ColorSet是一个MacOS实用程序和框架,允许开发人员轻松管理自定义界面颜色。
  • Layout Designer for UICollectionView-一个简单但功能强大的工具,帮助您为UICollectionView制作复杂的布局。

Git

  • Cashew-Cashew MacOS Github问题跟踪器。
  • GPM-MacOS应用程序,便于操作GitHub项目。
  • Git Interactive Rebase Tool-基于全功能终端的序列编辑器,用于交互式重定基址。
  • GitBlamePR-显示拉取请求的Mac应用程序上次修改了文件的每一行
  • GitHub Desktop-从您的桌面轻松协作。
  • GitSync-Mac极简主义Git客户端。
  • GitUp-你一生都怀念的Git界面终于到来了。
  • GitX-GIT版本控制系统的图形客户端。
  • Gitee详细说明:Github的Gitee、MacOS状态栏应用程序。
  • Github contributions-适用于iOS、WatchOS和MacOS的GitHub贡献APP。
  • GithubListener-简单的应用程序,将通知对受监视存储库的新提交。
  • GithubNotify-简单的MacOS应用程序,在您有未读的GitHub通知时提醒您。
  • Gitify-菜单栏上的GitHub通知。
  • Streaker-GitHub贡献条纹跟踪菜单栏APP。
  • TeamStatus-for-GitHub-MacOS状态栏应用程序,用于跟踪团队内的代码审查过程。
  • Trailer-管理GitHub和GitHub Enterprise的拉取请求和问题。
  • Xit+Xit是一个处理git存储库的图形化工具。
  • osagitfilter详细说明:过滤把开放源码语言(AppleScript,JavaScript)放入GIT中,就像它们放在纯文本文件里一样。![shell_icon]![AppleScript_icon]

JSON解析

  • JSON Mapper-简单的MacOS应用程序,用于从JSON生成SWIFT对象映射器类。
  • JSON to Model class-基于模板的高度可定制的MacOS APP,可以从JSON字符串生成类,支持多种语言。
  • JSONExport-适用于MacOS的桌面应用程序,使您可以将JSON对象导出为模型类,以及它们的相关构造函数、实用程序方法、setter和getter,这些都是您最喜欢的语言。
  • j2s-MacOS应用程序,用于将JSON对象转换为SWIFT结构(当前目标是SWIFT 4和Coble)。

其他发展

  • Boop-面向开发人员的可脚本化便签簿。
  • ChefInspector-Chef的节点和属性查看器
  • MQTTX-优雅的跨平台MQTT 5.0桌面客户端。
  • macho-browser-MacOS Mach-O二进制文件的浏览器。
  • vegvisir-基于浏览器的GUI,用于LLDB调试器。

Web开发

  • CoreOS VM-CoreOS VM是MacOS状态栏应用程序,它允许以一种简单的方式控制Mac上的CoreOS VM。
  • Corectl App for macOS详细说明:Corectl App是一款MacOS状态栏App,其工作方式类似于corectl命令行工具corectld的包装器,用于控制服务器运行时进程。
  • HTTP Toolkit-HTTP Toolkit是一款用于拦截、调试和模拟HTTP的跨平台工具。
  • Insomnia-失眠是一个跨平台的睡觉客户端,建立在电子之上。
  • KubeMonitor-KubeMonitor是一款MacOS应用程序,可以在菜单栏中显示有关活动的Kubernetes集群的信息。
  • KubeSwitch-KubeSwitch在Mac的菜单栏中列出了Mac上可用的Kubernetes集群上下文。
  • Lantern-用于网站审核和爬网的专用Mac应用程序。
  • LocalSites-适用于MacOS的简单菜单栏(状态栏)应用程序,列出本地Bonjour网站(因为Safari 11不再有Bonjour书签)。
  • Mockup Generator-Mockup Generator是一款MacOS应用程序,使用AngularJS/Electron构建,它位于您的菜单栏中,允许您捕获您最喜欢的网站的屏幕截图,并将其包装在设备模型中。
  • Now Desktop-直接从托盘菜单创建展开。
  • SimpleLocalize CLI-用于管理软件项目中的i18n键的开源工具。
  • aws-s3-uploader-简单的MacOS应用程序,用于将文件上传到Amazon Web服务。
  • iTunesConnect-MacOS应用程序,允许您访问iTunesConnect。
  • ndm-NPM桌面GUI。
  • nodeScratchpad-从菜单栏评估NodeJS/JS代码片段。
  • stts-监控云服务状态的MacOS APP。

iOS/MacOS

  • AVXCAssets Generator-为您的资源图像选择路径,只需单击一下即可为您创建小写字母和图像集。
  • AppBox-iOS开发人员可通过Dropbox帐户将开发、点对点和内部(企业)应用程序直接构建和部署到设备的工具。
  • AppIcons-用于生成MacOS和iOS应用程序所需的各种大小图标的工具。
  • AppStoreReviewTimes-向您显示iOS/MacOS应用商店的平均审核时间。
  • AppleTrace-iOS/MacOS跟踪工具。
  • Asset Catalog Tinkerer-允许您打开.car文件并浏览/提取其图像的应用程序。
  • Assets-Assets是一款MacOS应用程序,用于管理您的开发项目(Xcode、Web等)的资产。
  • Attabench-Attabench是一款适用于MacOS的微基准测试应用程序,旨在测量和可视化SWIFT代码的性能。
  • Board For GitHub-在本机MacOS应用程序中监控您的GitHub项目网页的小型应用程序好了!
  • Brisk-用于提交雷达的MacOS应用程序。
  • Cleaner for Xcode-Cleaner for Xcode.app,使用REACT-Native-MacOS构建。
  • CocoaRestClient-用于测试HTTP/睡觉端点的原生苹果MacOS应用程序。
  • Corona Tracker-适用于iOS和MacOS的冠状病毒追踪应用程序,带地图和图表。
  • FilterShop-MacOS应用程序,用于探索CoreImage过滤器。
  • IconGenerator-MacOS应用程序,用于生成应用程序图标。
  • Iconizer-在飞翔上创建XCODE镜像目录(Xcsets)。
  • Iconology-编辑图标,然后导出到Xcode、ICNS、ICO、Favicon、MacOS图标集或自定义收藏。
  • Icons.app-适用于MacOS的App,设计用于在各种状态、抖动(抖动)等情况下为现有应用生成大小一致的图标。
  • InjectionIII-注射的快速重写已过期。
  • Knuff-Apple Push Notification Service(APNS)的调试应用程序。
  • LayerX-直观的应用程序,可在屏幕上显示透明图像。
  • Localizable.strings-Mac应用程序,用于本地化您的iOS和MacOS项目。
  • Localization Editor-简单的MacOS编辑器应用程序,允许您并排编辑所有翻译,从而帮助您管理iOS应用程序本地化。
  • Localizations-Localations是一款MacOS应用程序,用于管理您的Xcode项目本地化文件(.string)。
  • Menubar Colors-MacOS应用程序,便于访问系统颜色面板。
  • Notarize-MacOS公证状态监控工具,支持多开发者账号
  • PodsUpdater-MacOS应用程序,帮助您管理Podfile中的依赖项释放。
  • ProfilesManager-适用于Mac的Apple iOS/MacOS配置文件管理、.provisionprofile、.mobile配置文件管理器工具。
  • PushNotifications-在iOS和Android上测试推送通知的MacOS应用。
  • ResignTool-这是一款适用于MacOS的应用程序,可以(重新)对应用程序进行签名,并将其捆绑到准备安装在iOS设备上的IPA文件中。
  • Resizr-用于为iOS和Android应用创建AppIcon的MacOS应用。
  • SmartPush-iOS推流通知调试App。
  • TransporterPad-适用于MacOS的iOS/Android APP部署工具。
  • WWDC-MacOS的非官方WWDC应用程序。
  • WWDC.srt-功能强大的应用程序,可为2013年以来的每个WWDC会议视频下载(SRT)格式的字幕。
  • Xcodes.app-安装和在多个版本的Xcode之间切换的最简单方式。
  • calabash-launcher-iOS Calabash Launcher是一款MacOS应用程序,可帮助您在Mac上运行和管理Calabash测试。
  • iOS Images Extractor-iOS Images Extractor是一款Mac应用程序,用于规格化、解码和提取iOS应用程序中的图像。
  • iSimulator-iSimulator是一个GUI实用程序,用于控制模拟器并管理模拟器上安装的应用程序。
  • xib2Storyboard-将Xcode.xib转换为.Storyboard文件的工具。

下载器

  • App Downloader-轻松从巨型服务器搜索和下载MacOS应用程序homebrew cask应用程序目录。
  • Extream Download Manager-强大的工具,可将下载速度提高高达500%
  • Get It-原生MacOS视频/音频下载器。可以把它想象成一个可以在很多网站上使用的YouTube下载器。
  • Motrix-功能齐全的下载管理器。
  • Pillager用SWIFT和Objective-C编写的MacOS视频下载器。
  • YouTube Downloader for macOS-简单的菜单栏应用程序,可在Mac上下载YouTube电影。我写这篇文章是为了了解更多关于MacOS上的应用程序开发的测试项目。
  • udemy-downloader-gui-用于下载Udemy课程的桌面应用程序。

编辑人员

CSV

  • TableTool详细说明:适用于MacOS的简单CSV编辑器。

JSON

  • JSON Editor-使用josdejong/jsonEditor的死简单JSON编辑器![tyescript_icon]
  • JSON-Splora-用于编辑、可视化和操作JSON数据的GUI。

降价

  • Gingko-适用于MacOS、Windows和Linux的树形结构标记编辑器。
  • MacDown-MacOS的Markdown编辑器。
  • Mark Text-MacOS Windows和Linux的实时预览降价编辑器。
  • Notenik-提供多种组织选项的笔记应用程序。
  • Pine-现代MacOS降价编辑器。
  • QOwnNotes-纯文本文件记事本和待办事项列表管理器,支持降价和ownCloud/Nextcloud集成。
  • Zettlr-21世纪的降价编辑器。

特克斯

  • Qilin Editor-具有内置Katex/AsciiMath支持的精确科学文本编辑器。

文本

  • CotEditor-适用于MacOS的轻量级纯文本编辑器。
  • MacVim-适用于MacOS的文本编辑器。
  • Noto-支持可定制主题的MacOS纯文本编辑器。
  • SubEthaEdit-适用于MacOS的通用纯文本编辑器。因其实时协作功能而广为人知。
  • TextMate+TextMate是MacOS的图形化文本编辑器。
  • VimR-为MacOS提供精致的Neovim体验。
  • reventlou-个人数据库作为信息管理系统。

扩展部分

  • BetterPiP-在HTML5视频的Google Chrome等浏览器中使用原生画中画。
  • Is It Private?-提供工具栏图标的Safari扩展,如果启用了隐私浏览,该图标可以更改其视觉外观。
  • Middleclick-在MacBook触摸板和魔术鼠标上用三个手指单击或轻击来模拟滚轮单击
  • PageExtender-使用您自己的CSS和JS文件扩展页面。
  • PiPTool-在MacOS的YouTube、Netflix、Plex等视频广播服务中增加画中画功能。
  • PiPifier+Pifier是一个原生的MacOS 10.12 Safari扩展,允许您在Picture模式下使用Picture中的每个HTML5视频。
  • Sessions-Safari扩展可保存您的工作会话
  • Swimat-Swimat是一个Xcode插件,用于格式化您的SWIFT代码。
  • ThenGenerator-‘THEN’的Xcode源代码编辑器扩展
  • Ultra TabSaver-Ultra TabSaver是Safari的开源选项卡管理器
  • nef-此Xcode扩展允许您选择代码并将其导出为代码片段。在Mac AppStore上提供。

查找器

  • Clipy-Clipy是MacOS的剪贴板扩展应用程序。
  • CopyQ-具有高级功能的剪贴板管理器
  • Duplicate Finder-这是一个有用的工具,可以帮助您查找特定文件夹中具有相同名称的所有重复文件。
  • FiScript-在Finder中从MacOS上下文菜单(按住CTRL并单击)执行自定义脚本。
  • Finder Go-MacOS应用程序和Finder Sync扩展,用于从Finder打开终端、iTerm、Hyper。
  • OpenInCode-Finder工具栏应用程序,用于在Visual Studio代码中打开当前文件夹。
  • OpenInTerminal-用于MacOS的Finder Toolbar应用程序,用于在终端、iTerm、Hyper或Alacritty中打开当前目录。
  • Quick Look plugins-面向开发人员的实用Quick Look插件列表。
  • cd to… -Finder Toolbar APP打开终端中的当前目录

游戏

  • Battle for Wesnoth-基于回合的战术战略游戏,以单人和在线多人战斗为特色。
  • Boxer-适合您的Mac的DOS游戏模拟器。
  • Dolphin-功能强大的任天堂GameCube和Wii游戏模拟器。
  • OpenEmu-MacOS的复古视频游戏仿真。
  • OpenRCT2-重新实施过山车大亨2。
  • Screentendo-把你的屏幕变成马里奥的可玩级别。
  • Stockfish-漂亮、功能强大的国际象棋应用程序。

图形

  • Aseprite+动画化的精灵编辑器和像素艺术工具(Windows、MacOS、Linux)。
  • CaptuocrToy-通过在线OCR API截图和识别文本的工具。
  • ColorSet-ColorSet是一个MacOS实用程序和框架,允许开发人员轻松管理自定义界面颜色。
  • Gaphor详细说明:Gaphor是UML和SysML的简单建模工具。
  • GifCapture-适用于MacOS的Gif Capture应用程序。
  • Gifcurry-视频到GIF Maker,具有能够裁剪、添加文本、查找和裁剪的图形界面。
  • Gifski-将视频转换为高质量的GIF格式。
  • InfiniteCanvas-概念验证Mac绘图应用程序。
  • Material Colors Native-选择您的材料颜色,并复制祸不单行代码。
  • Pencil2D Animation+Pencil2D是一款适用于MacOS、Windows和Linux的动画/绘图软件。它允许您使用位图和矢量图形创建传统的手绘动画(卡通)。
  • ScreenToLayers for macOS+ScreenToLayers是一款MacOS应用程序,可以轻松地将屏幕捕获为分层的PSD文件。
  • macSVG详细说明:MacOS应用程序,用于设计带有WebKit Web视图的HTML5 SVG(可伸缩矢量图形)图片和动画。

IDE

  • Apache Netbeans-Apache NetBeans是一个IDE、工具平台和应用程序框架,适合用Java、JavaScript、PHP、HTML5、CSS等进行开发。
  • Atom-可破解的文本编辑器。
  • LiveCode-跨平台开发IDE。
  • Oni-ONI是一款现代的模态编辑代码编辑器,专注于开发人员的工作效率。
  • Vim-无处不在的文本编辑器![Vim脚本图标]
  • Visual Studio Code-微软开发的代码编辑器。
  • ZeroBraneStudio-ZeroBrane Studio是一个轻量级的跨平台Lua IDE,具有代码补全、语法突出显示、远程调试器、代码分析器、实时编码和对各种Lua引擎的调试支持。

图像

  • APNGb-MacOS应用程序,用于组装和拆卸动画PNG文件。
  • Crunch详细说明:疯狂的(很慢但非常好)的PNG图像优化。
  • ExifCleaner-拖放、多核批处理、暗模式移除图像元数据。
  • Freehand-MacOS状态栏应用程序,用于快速绘制。
  • Gimp详细说明:GIMP是GNU图像处理程序。
  • Iconology-编辑图标,然后导出到Xcode、ICNS、ICO、Favicon、MacOS图标集或自定义收藏。
  • ImageAlpha-适用于pngquant、pngnq和Afterizer的Mac GUI。
  • Imagine+Imagine是一款压缩PNG和JPEG的桌面应用程序,拥有现代友好的UI。
  • InVesalius-3D医学成像重建软件
  • Katana-Katana是一个简单的MacOS屏幕截图实用程序,位于您的菜单栏中。
  • PhotoMiner-MacOS应用程序,用于在您的磁盘上查找和丢失被遗忘的照片。
  • Screenbar-MacOS菜单栏应用程序,用于自动截屏。
  • Seashore详细说明:简单易用的macos图片编辑应用,适合我们的睡觉。
  • WebPonize详细说明:WebPonize是一款MacOS应用程序,用于将PNG、JPEG、动画(或非动画)GIF图像转换为WebP。

键盘

  • AnnePro-mac-MacOS应用程序,用于通过蓝牙控制AnnePro键盘。
  • Fluor-MacOS的便捷工具,允许您根据活动的应用程序切换Fn键的模式。
  • GokuRakuJoudo-Karabiner-Elements配置经理,拯救到臃肿的Karabine.json
  • Karabiner详细说明:Karabiner(KeyRemap4MacBook)是一款功能强大的键盘定制工具。
  • Karabiner-Elements-Karabiner-Elements是在MacOS Sierra(10.12)或更高版本上进行键盘自定义的强大实用程序。
  • Kawa-更好的MacOS输入源切换器。
  • Thor-尽快切换正确的应用程序。
  • Unshaky–一款软件尝试解决苹果蝴蝶键盘上的“双键按下”问题

邮件

  • Correo-适用于Windows和MacOS的Menubar/Taskbar Gmail App。
  • ElectronMail-ProtonMail和Tutanota端到端加密电子邮件提供商的非官方桌面应用程序。
  • Mailspring-💌由原作者之一制作的漂亮、快速且维护良好的@nylas Mail叉子
  • Rambox-跨平台消息传递和电子邮件应用程序,将常见的Web应用程序合并为一个应用程序。
  • SimpleLogin-电子邮件别名解决方案:保护您的真实电子邮件地址。
  • dejalu-快速、简单的电子邮件客户端。

医疗

菜单栏

  • Airpass-状态栏Mac应用程序,可克服时间限制的WiFi网络。
  • AnyBar-MacOS菜单栏状态指示器。
  • CloudyTabs-简单的菜单栏MacOS应用程序,用于显示iCloud选项卡和阅读列表的列表。
  • DatWeatherDoe详细说明:简单的菜单栏天气应用程序,适用于MacOS,用SWIFT编写。
  • DisplayMenu-简单(基本)MacOS菜单栏额外应用显示预设。
  • Dozer-隐藏MacOS菜单栏项目。
  • Grayscale Mode-从菜单栏管理灰度模式。
  • Hidden Bar-帮助隐藏菜单栏图标的超轻MacOS实用程序
  • Itsycal-Mac菜单栏中有一个小小的日历。
  • KubeContext-在Mac上导入、管理和切换Kubernetes上下文。
  • Market Bar-菜单栏的微型股票观察器。
  • MeetingBar-日历会议的菜单栏应用程序
  • MenuMeters-适用于MacOS的CPU、内存、磁盘和网络监控工具。
  • Menubar Brightness-MacOS应用程序可更改菜单栏上的屏幕亮度。
  • Music Bar-音乐栏是MacOS应用程序,可将音乐控件直接放在菜单栏中。
  • Night Shift Control-夜班控制是一个简单的MacOS菜单栏应用程序,用于控制夜班。它的目标是引入f.lux中夜班没有的功能,比如对某些应用程序禁用夜班。
  • Nocturnal-菜单栏应用程序,具有比暗调光更暗的颜色,Night Shift微调,以及在MacBook Pro上关闭TouchBar的能力。
  • NoiseBuddy-在触摸栏或菜单栏中控制AirPods Pro上的收听模式。
  • PSIBar-快速黑进PSI MacOS状态栏APP。
  • Pi Stats-MacOS应用程序,用于可视化PI-孔信息。
  • PlayStatus-PlayStatus是一款MacOS应用程序,允许从菜单栏控制Spotify和iTunes音乐播放。
  • Quickeys-一款Mac菜单栏应用程序,通过快速下拉菜单提供笔记功能。
  • SensibleSideButtons-小型菜单栏实用程序,允许您使用第三方鼠标的侧键在各种应用程序之间导航。
  • Shifty-MacOS菜单栏应用程序,可让您更好地控制夜班。
  • SlimHUD – Cyanocitta-更换MacOS的音量、亮度和键盘背光HUD。
  • Stats-菜单栏中的MacOS系统显示器
  • SwiftBar-功能强大的MacOS菜单栏定制工具。
  • baRSS – Menu Bar RSS Reader-位于系统状态栏中的RSS&Atom源阅读器。
  • gSwitch-MacOS状态栏应用程序,允许控制双GPU MacBook上的GPU。
  • iGlance-状态栏的MacOS系统监视器(CPU、内存、网络、风扇和电池)。
  • xbar-将任何脚本或程序的输出放入MacOS菜单栏。

音乐

  • Carol-一款留在MacOS菜单栏中的极简而漂亮的歌词应用程序。
  • ChordDetector-收听iTunes和Spotify以检测歌曲和弦的微型菜单栏应用程序!
  • DeezPlayer-适用于Windows、Linux和MacOS的Deezer桌面应用程序。
  • Karaoke Forever-举办令人惊叹的卡拉OK派对,每个人都可以在手机浏览器上排队歌曲。使用WebGL可视化效果播放MP3+G和MP4。
  • Lilypond UI-用lilypond创作优美的乐谱。
  • MPV-轻便、高度可配置的媒体播放器。
  • Music Bar-音乐栏是MacOS应用程序,可将音乐控件直接放在菜单栏中。
  • NoiseBuddy-在触摸栏或菜单栏中控制AirPods Pro上的收听模式。
  • PlayStatus-PlayStatus是一款MacOS应用程序,允许从菜单栏控制Spotify和iTunes音乐播放。
  • SoundCleod-适用于MacOS和Windows的SoundCloud。
  • Spotify-Cli-Mac-无需离开终端即可控制Spotify。🎶
  • YouTube-Music-music.youtube.com的MacOS包装器。
  • iTunes Graphs-MacOS应用程序,将您的iTunes库可视化为图形。
  • lyricsify-SWIFT中适用于MacOS的简单Spotify歌词查看器菜单栏应用程序。

新闻

注意事项

  • Boostnote-为像您一样的程序员制作的笔记应用程序。
  • Dnote-具有多设备同步和Web界面的简单命令行笔记本。
  • FSNotes-MacOS/iOS的笔记管理器:类固醇的现代记号速度(NvALT)。
  • FromScratch-可以用作快速笔记或待办事项的小应用程序。
  • Jupyter Notebook Viewer-MacOS笔记本查看器。
  • NoteTaker-适用于MacOS和iOS的简单笔记APP,使用Realm和CloudKit进行同步。
  • Notenik-提供多种组织选项的笔记应用程序。
  • Notes-Notes是一款MacOS应用程序,用于创建笔记,使用文本和其他格式:图像、视频、联系人等。
  • QOwnNotes-纯文本文件记事本和待办事项列表管理器,支持降价和ownCloud/Nextcloud集成。
  • Simplenote-最简单的记录方式。
  • Standard Notes-安全的地方存放您的笔记、思想和毕生的工作。
  • Tusk-非官方的、第三方的、社区驱动的Evernote应用程序,具有一些有用的功能。
  • joplin-支持Windows、MacOS、Linux、Android和iOS同步的笔记和待办应用。
  • notable-简单的笔记应用程序。
  • tmpNote详细说明:非常简单的MacOS应用程序,可以做临时笔记。

其他

  • Cakebrew-使用Cakebrew管理您的自制配方。
  • DevDocs for macOS-非官方DevDocs API文档查看器。
  • Gas Mask-MacOS的主机文件管理器。
  • Hosts-用于/etc/hosts的Cocoa GUI。
  • ImageOptim-适用于Mac的GUI图像优化器。
  • Keyframes Player-简单的MacOS应用程序,用于预览使用Facebook的关键帧框架创建的动画。
  • Lepton-代码片段管理民主化(MacOS/Win/Linux)。
  • Letters-教你的孩子字母表和如何打字。
  • Platypus-Mac开发工具,用于从命令行脚本创建应用程序包。
  • QorumLogs-适用于Xcode和Google Docs的SWIFT日志记录实用程序。
  • React Native Debugger-用于检查您的Reaction本地项目的桌面应用程序。MacOS、Linux和Windows。
  • Reactotron-桌面应用程序,用于检查您的Reaction JS和Reaction Native项目。MacOS、Linux和Windows。
  • RktMachine-菜单栏MacOS应用程序,用于在MacOS虚拟机管理程序CoreOS VM中运行RKT。
  • Ruby.app-MacOS应用程序,包含完整的Ruby安装(用于Ruby/Gosu)。
  • Shuttle+MacOS的简单SSH快捷菜单。
  • SwiftyBeaver-在SWIFT中开发和发布期间方便的日志记录。
  • Unused-用于检查Xcode项目中未使用的资源的Mac应用程序。
  • Vagrant Manager-使用适用于MacOS的流浪管理器,在一个位置管理您的流浪汉机器。
  • macGist-简单的应用程序,可以将粘贴板项目发送到GitHub的Gist。
  • syncthing-macosx-经济实惠的nativemacOS MacOS同步应用程序捆绑包。

玩家

  • IINA-MacOS的现代视频播放器。
  • MPV-轻便、高度可配置的媒体播放器。
  • MPlayerX-MacOS上的媒体播放器。
  • MacMorpheus-支持MacOS for PSVR的3D 180/360视频播放器,支持头部跟踪。
  • Movie Monad-使用GStreamer和GTK+的Haskell构建的桌面视频播放器。

播客

  • Cumulonimbus-简单、漂亮的播客应用。
  • Doughnut-适用于Mac的Podcast播放器和库
  • PodcastMenu-Podcast Menu是一款简单的应用程序,它将Overcast在你的Mac的菜单栏上,这样你就可以在工作的同时收听你最喜欢的播客。
  • Podlive for macOS-MacOS客户端收听直播播客(仅限)。它目前支持所有通过超声波播放的直播流,Studio Link On Air
  • mkchromecast-将MacOS和Linux音频/视频播放到您的Google Cast和Sonos设备。

生产力

  • Ao-优雅的微软待办事项桌面应用。
  • Calculeta详细说明:适用于MacOS的计算器,适用于状态栏。
  • Cerebro-跨平台启动器APP。
  • ClipMenu-MacOS的剪贴板管理器。
  • Clocker-MacOS应用程序可跨时区进行规划和组织。
  • ControlPlane-根据您所在的位置或所做的工作自动执行任务。
  • DevUtils.app-适用于MacOS的开发实用程序,只需单击一下即可帮助您处理日常小任务!即JSON格式化程序、UUID生成器。
  • Flycut-面向开发人员的简洁简洁的剪贴板管理器。
  • Itsycal-Mac菜单栏中有一个小小的日历。
  • KeyHolder-在MacOS中记录快捷方式,如Alfred.app。
  • Kiwix-适用于iOS和MacOS的Kiwix,基于SWIFT构建。
  • Layout Designer for UICollectionView-一个简单但功能强大的工具,帮助您为UICollectionView制作复杂的布局。
  • Linked Ideas-MacOS应用程序,用于记录和连接想法。
  • Mac Screenshot Tracker-开源、免费、可破解的截图跟踪器。再看一遍你一直在做的东西!
  • Maccy-轻量级的边键入边搜索剪贴板管理器。
  • Manta-灵活的开票桌面应用程序,具有美观且可定制的模板。
  • MeetingBar-日历会议的菜单栏应用程序
  • Middleclick-在MacBook触摸板和魔术鼠标上用三个手指单击或轻击来模拟滚轮单击
  • PDF Archiver-标记和归档任务的好工具。
  • Paperless Desktop-使用无纸化API管理您的文档扫描的桌面应用程序。
  • Pennywise-Pennywise在一个小的浮动窗口中打开任何网站或媒体,该窗口保留在所有其他应用程序的顶部。它是氦的一种很好的替代品。
  • Pomodoro Cycle-适用于MacOS的Pomodoro循环
  • QOwnNotes-纯文本文件记事本和待办事项列表管理器,支持降价和ownCloud/Nextcloud集成。
  • Quicksilver-QuickSilver是一款快速的MacOS生产力应用程序,让您能够快速、优雅地控制Mac。
  • Quickwords-在几秒钟内写下任何东西。创建可以使用替身文本、执行繁琐任务等功能的代码片段。
  • SelfControl-MacOS应用到挡路,你自己可以在一段预定的时间内访问令人分心的网站等。这不能通过应用程序或重新启动来撤销-你必须等待计时器超时。
  • Sessions-Safari扩展可保存您的工作会话
  • Speed Reader-借助SpeedReader的静音功能,阅读速度更快。
  • Spotter-生产力工具,主要功能是搜索和启动外部应用程序操作和应用程序本身,以便您可以专注于当前任务。有点像聚光灯或者阿尔弗雷德。
  • StickyNotes-在AppKit中实现的Windows 10风格的Sticky Notes应用程序。
  • Strategr-无需大惊小怪的时间管理。
  • Super Productivity-与Jira集成,为程序员和设计师提供免费的待办事项列表和时间跟踪器。
  • ThenGenerator-‘THEN’的Xcode源代码编辑器扩展
  • Thyme-OS X的任务计时器。
  • Timer-适用于Mac的简单计时器应用程序。
  • Toggl Desktop-适用于Windows、Mac和Linux的Toggl桌面应用程序。
  • TomatoBar-用于MacOS的Pomodoro技术计时器,带触摸栏支持。
  • TrelloApp-用SWIFT编写的Trello.com非官方包装申请。这几乎是站点特定浏览器的“Hello World”。
  • Ultra TabSaver-Ultra TabSaver是Safari的开源选项卡管理器
  • Watson-用于时间跟踪的CLI应用程序。
  • Whale-非官方的Trello应用程序。
  • Yomu-MacOS版的Manga阅读器应用程序。
  • espanso-跨平台文本扩展器,Alfred代码段的强大替代品
  • macOrganizer-MacOS应用程序,用于组织文件或删除不必要的文件。
  • reventlou-个人数据库作为信息管理系统。
  • status-bar-todo-简单的MacOS应用程序,可将待办事项列表保存在状态栏中。
  • stretchly-跨平台电子应用程序,提醒您在使用计算机时休息。

屏幕保护程序

  • Aerial-适用于MacOS的Apple TV空中屏幕保护程序。
  • Brooklyn–2018年10月30日,受苹果活动启发的屏保。
  • Image-As-Wallpaper-实用程序应用程序可帮助选择用作Mac电脑桌面墙纸或屏幕保护程序的图像。
  • Irvue-MacOS的屏幕保护程序。
  • Life Saver-一个基于Conway的生活游戏的抽象屏幕保护程序,用SpriteKit实现
  • MinimalClock-简单美观的屏幕保护程序,显示时间。
  • MusaicFM-用于Spotify和Last.fm的iTunes屏幕保护程序克隆
  • Predator-MacOS的捕食者灵感时钟屏幕保护程序
  • The GitHub Matrix Screensaver-适用于MacOS的GitHub矩阵屏幕保护程序。

安全性

  • Cloaker-简单的拖放、基于密码的文件加密。
  • Cryptomator-云中文件的多平台透明客户端加密。
  • LuLu详细说明:Lulu是MacOS防火墙应用程序,旨在阻止挡路未经授权(传出)的网络流量。
  • Swifty-免费和离线密码管理器。
  • macOS GateKeeper Helper-简单的MacOS网守脚本。它可以帮助你控制你的看门人。![shell_icon]
  • stronghold-从终端轻松配置MacOS安全设置。

共享文件

  • Deluge-轻量级跨平台BitTorrent客户端。
  • NitroShare-将文件从一台设备传输到另一台设备
  • Rhea-MacOS状态栏应用程序,用于快速共享文件和URL。
  • Transmission-官方传输BitTorrent客户端库。
  • Tribler-具有P2P内容发现功能的隐私增强型BitTorrent客户端。
  • mac2imgur-简单的Mac应用程序,旨在快速轻松地将图像和屏幕截图上传到Imgur。
  • qBittorrent-Qt中的BitTorrent客户端。

社交网络

  • Caprine-优雅的Facebook Messenger桌面应用程序。
  • Goofy-非官方Facebook Messenger客户端。
  • Leviathan详细说明:Leviathan是Mastodon社交网络的iOS和MacOS客户端应用程序。
  • Messenger-MacOS应用程序包装了Facebook的Messenger桌面版。
  • Product Hunt-分享和发现您最喜欢的新产品和应用。
  • Quail-非官方的esa应用程序。
  • Ramme-非官方Instagram桌面应用。
  • RedditOS-适用于MacOS的SwiftUI Reddit客户端。
  • Simpo-MacOS菜单栏应用程序可快速发布状态。

流式传输

  • Galeri-Perpetual Artwork流媒体应用程序。
  • OBS Studio-用于直播和屏幕录制的免费开源软件。

系统

  • AppPolice-适用于MacOS的应用程序,具有简约的UI,可让您快速降低任何正在运行的进程的CPU使用率。
  • Apple Juice-适用于MacOS的高级电池电量计。
  • Clean-Me-充当系统清洁器(日志、缓存等)的小型MacOS应用程序。
  • Diagnostics-Diagnostics是显示MacOS上应用程序的诊断报告的应用程序。
  • DisableMonitor-轻松禁用或启用Mac上的显示器。
  • EtreCheck-EtreCheck是一款易于使用的MacOS应用程序,可显示系统配置的重要详细信息,并允许您将该信息复制到剪贴板。
  • Fanny-从通知中心监控Mac的风扇速度和CPU温度。
  • HoRNDIS-适用于MacOS的Android USB Tethering驱动程序。
  • Juice-让您的电池信息更有趣一些。
  • KeepingYouAwake-防止您的Mac进入睡眠状态。
  • Latest-适用于MacOS的小型实用程序,确保您了解您使用的应用程序的所有最新更新。
  • Loading-适用于MacOS的简单网络活动监控器。
  • Overkill-连接iPhone时停止打开iTunes。
  • ProfileCreator-用于创建标准或自定义配置文件的MacOS应用程序。
  • SlimHUD – Cyanocitta-更换MacOS的音量、亮度和键盘背光HUD。
  • Sloth-Sloth是一个MacOS应用程序,它显示系统上所有正在运行的应用程序正在使用的所有打开的文件和套接字的列表。
  • Spotter-生产力工具,主要功能是搜索和启动外部应用程序操作和应用程序本身,以便您可以专注于当前任务。有点像聚光灯或者阿尔弗雷德。
  • Stats-菜单栏中的MacOS系统显示器
  • Turbo Boost Switcher-Turbo Boost Switcher是一个适用于Mac计算机的小应用程序,允许启用和/或禁用Turbo Boost功能。
  • VerticalBar-MacOS应用程序向Dock添加竖条。
  • macOS GateKeeper Helper-简单的MacOS网守脚本。它可以帮助你控制你的看门人。![shell_icon]
  • macOSLucidaGrande-一个将Lucida Grande设置为Mac系统UI字体的小工具。

终端

  • Alacritty-跨平台、GPU加速的终端仿真器。
  • Bifrost详细说明:一个用于串口通信的小型终端仿真器(MacOS/Linux)。
  • Console-MacOS控制台应用程序。
  • Finder Go-MacOS应用程序和Finder Sync扩展,用于从Finder打开终端、iTerm、Hyper。
  • Hyper-基于Web技术构建的终端。
  • Kitty-跨平台,快速,功能齐全,基于GPU的终端仿真器。
  • OpenInTerminal-用于MacOS的Finder Toolbar应用程序,用于在终端、iTerm、Hyper或Alacritty中打开当前目录。
  • OpenTerminal-MacOS应用程序,打开一个新的Finder窗口,并将当前目录更改为应用程序启动的文件夹。
  • cd to… -Finder Toolbar APP打开终端中的当前目录
  • iTerm 2详细说明:MacOS终端仿真器,可以做出令人惊叹的事情。
  • macOS GateKeeper Helper-简单的MacOS网守脚本。它可以帮助你控制你的看门人。![shell_icon]
  • wallpapper详细说明:WallPapper是一个控制台应用程序,用于为Mojave创建动态壁纸。

触摸栏

  • Muse-支持TouchBar的Spotify控制器。
  • MyTouchbarMyRules-可根据您的需要自定义触摸栏的应用程序。
  • Pock-在触摸栏中显示MacOS坞站。
  • Touch Bar Preview-在新MacBook Pro的触摸栏上显示您的设计的小型应用程序。
  • Touch Bar Simulator-在任何Mac上使用触摸栏。
  • Touch Emoji-MacBook Pro触摸栏的Emoji拾取器。

公用事业

  • Android tool for Mac-一键截图、视频录制、iOS和Android应用安装
  • ArchiveMounter-挂载归档文件,如磁盘映像。
  • BeardedSpice-使用Mac键盘上的媒体密钥控制基于Web的媒体播放器。
  • Bitwarden-面向个人、团队和业务组织的跨平台密码管理解决方案。
  • Bitwarden Menu-菜单栏中的Bitwarden密码管理器
  • Boop-面向开发人员的可脚本化便签簿。
  • Buttercup Desktop-适用于Mac和其他平台的安全密码管理器。
  • Calculeta详细说明:适用于MacOS的计算器,适用于状态栏。
  • Catch-捕捉:广播式捕捉变得很容易。
  • Clear Clipboard Text Format-使用清晰的剪贴板文本格式轻松清除剪贴板文本的格式。
  • CoreLocationCLI-获取设备的物理位置并将其打印到标准输出
  • CornerCal-适用于MacOS的简单、干净的日历和时钟应用程序。
  • Crypter-Crypter是一款创新、方便和安全的跨平台密码应用程序,通过只需记住一位MasterPass,简化了安全密码的生成和管理。
  • DevUtils.app-适用于MacOS的开发实用程序,只需单击一下即可帮助您处理日常小任务!即JSON格式化程序、UUID生成器。
  • Duplicate Finder-这是一个有用的工具,可以帮助您查找特定文件夹中具有相同名称的所有重复文件。
  • ECheck-用于验证MacOS的epub文件的小工具。
  • Flying Carpet-通过ad-hoc wifi进行跨平台文件传输,与AirDrop类似,但适用于Mac/Windows/Linux。
  • Funky-根据每个应用程序轻松切换Mac上的功能键。
  • Gray-只需单击按钮,即可在每个应用程序的浅色外观和深色外观之间进行选择
  • Grayscale Mode-从菜单栏管理灰度模式。
  • Kap-使用Web技术构建的屏幕记录器应用程序。
  • KeePassXC-Windows应用程序“Keepass Password Safe”的跨平台社区驱动端口
  • KeeWeb-与KeePass兼容的跨平台密码管理器。
  • Kyapchar-适用于MacOS的简单屏幕和麦克风录音机。
  • Layout Designer for UICollectionView-一个简单但功能强大的工具,帮助您为UICollectionView制作复杂的布局。
  • Life-Calendar-生活日历。
  • Lunar-为您的外部显示器提供智能自适应亮度。
  • MQTTX-优雅的跨平台MQTT 5.0桌面客户端。
  • MacPass-本地MacOS KeePass客户端。
  • Maria-用于aria2下载工具的MacOS原生app/widget。
  • MeetingBar-日历会议的菜单栏应用程序
  • Meme Maker-Meme Maker MacOS应用程序,用于创建Meme。
  • Middleclick-在MacBook触摸板和魔术鼠标上用三个手指单击或轻击来模拟滚轮单击
  • MonitorControl-直接从墨盒或使用键盘原生键控制外部显示器的亮度、对比度或音量。
  • Monolingual-从MacOS中删除不必要的语言资源
  • Mos-平滑鼠标滚动并反转鼠标滚动方向
  • Music Bar-音乐栏是MacOS应用程序,可将音乐控件直接放在菜单栏中。
  • Nocturnal-菜单栏应用程序,具有比暗调光更暗的颜色,Night Shift微调,以及在MacBook Pro上关闭TouchBar的能力。
  • NoiseBuddy-在触摸栏或菜单栏中控制AirPods Pro上的收听模式。
  • Noti-在您的Mac上接收Android通知(使用PushBullet)。
  • Numi-一个具有自然语言解析功能的便捷计算器。
  • PB for Desktop-在MacOS、Windows和Linux上接收原生推送通知。
  • Padlock-MacOS的最小开源密码管理器。
  • PercentCalculator详细说明:一个计算参数的菜单栏应用程序。
  • Plain Pasta-将您的剪贴板简洁化
  • PlayStatus-PlayStatus是一款MacOS应用程序,允许从菜单栏控制Spotify和iTunes音乐播放。
  • PowerShell-PowerShell是一个跨平台的自动化和配置工具/框架,可以与您现有的工具很好地配合使用。
  • ScreenCat-ScreenCat是一款屏幕分享+远程协作应用。
  • SlimHUD – Cyanocitta-更换MacOS的音量、亮度和键盘背光HUD。
  • SlowQuitApps-向Command-Q添加全局延迟,以停止意外应用退出。
  • Spotter-生产力工具,主要功能是搜索和启动外部应用程序操作和应用程序本身,以便您可以专注于当前任务。有点像聚光灯或者阿尔弗雷德。
  • Stats-菜单栏中的MacOS系统显示器
  • Super Productivity-与Jira集成,为程序员和设计师提供免费的待办事项列表和时间跟踪器。
  • Telephone-适用于MacOS的SIP软电话。
  • The Blockstack Browser-BlockStack是一个分散应用程序的互联网,用户拥有自己的数据。数据块堆栈浏览器允许您浏览数据块堆栈Internet。
  • ThenGenerator-‘THEN’的Xcode源代码编辑器扩展
  • ToTheTop-小型MacOS应用程序,可帮助您滚动到顶部。
  • Ultra TabSaver-Ultra TabSaver是Safari的开源选项卡管理器
  • baRSS – Menu Bar RSS Reader-位于系统状态栏中的RSS&Atom源阅读器。
  • calibre-跨平台电子书管理器。
  • fselect-使用SQL语法搜索文件的命令行工具。
  • homebrew-cask-用于管理以二进制文件形式分发的MacOS应用程序的CLI工作流
  • iOScanX-用于半自动iOS APP分析和评估的Cocoa应用。
  • mac-sound-fix-Mac Sound Re-Enabler。
  • macOS GateKeeper Helper-简单的MacOS网守脚本。它可以帮助你控制你的看门人。![shell_icon]
  • wechsel-使用键盘管理蓝牙连接。
  • Übersicht-密切关注您的机器和世界上正在发生的事情。

VPN和代理

  • ShadowsocksX-NG-下一代ShadowsocksX。
  • Specht-使用MacOS网络扩展构建的基于规则的代理应用。
  • SpechtLite-MacOS基于规则的代理APP。
  • Tunnelblick+Tunnelblick是MacOS上OpenVPN的图形用户界面。
  • clashX-基于规则的自定义代理,带有基于Clash的Mac GUI。
  • rvc-mac-Ribose VPN Client MacOS菜单App。

视频

  • Acid.Cam.v2.OSX-用于MacOS的acid Cam v2会扭曲视频以创建艺术。
  • AppleEvents-MacOS的非官方Apple Events应用程序。
  • Conferences.digital-在您的Mac上免费观看您喜爱的开发者会议上最新最棒的视频的最佳方式。
  • Datamosh-Datamosh您在MacOS上的视频。
  • Face Data-MacOS应用程序,用于自动注释视频中的地标。
  • GNU Gatekeeper-用于H.323终端的视频会议服务器。
  • Gifted-快速轻松地将任何短视频转换为动画GIF。
  • HandBrake-HANDBRAK是一款支持Linux、Mac和Windows的视频转码器。
  • MPV-轻便、高度可配置的媒体播放器。
  • MenuTube-将YouTube捕捉到您的MacOS菜单栏中!
  • OpenShot-易用、易学、功能强大的视频编辑器。
  • Quick Caption-无需手动输入时间代码即可转录和生成字幕文件(SRT、ASS和FCPXML)。
  • QuickLook Video+这个软件包允许MacOS Finder显示缩略图,静电快速浏览预览,封面艺术和大多数类型视频文件的元数据。
  • Subler-Subler是一款MacOS应用程序,用于多路复用和标记MP4文件。
  • VLC-VLC是一个免费开源的跨平台多媒体播放器
  • Vid Quiz Creator-MacOS应用程序,用于在视频播放中插入测验,并使用LISNR API向接收设备播放这些视频。
  • WebTorrent Desktop-流媒体激流APP。适用于Mac、Windows和Linux。
  • Yoda-漂亮的MacOS应用程序,可让您从YouTube浏览和下载视频。

壁纸

  • 500-mac-wallpaper-状态栏的简单MacOS应用程序,可自动将照片从500px.com下载到可设置为壁纸源的本地文件夹。
  • ArtWall-ARtStATION从设置为壁纸artwork.rss
  • Artify-MacOS应用程序,致力于将18世纪的艺术带给每个人
  • BingPaper-在MacOS上使用必应日常照片作为墙纸。
  • Desktop Wallpaper Switcher-用于管理和循环桌面壁纸的Win/Linux/MacOS工具。
  • Muzei-MacOS版Muzei墙纸APP。
  • Plash-让任何网站成为您的桌面墙纸。
  • Satellite Eyes-MacOS应用程序可自动将您的桌面墙纸设置为上方的卫星视图。
  • Sunscreen-防晒是一款有趣的轻量级应用程序,可以根据日出和日落改变您的桌面墙纸。
  • WallpaperMenu详细说明:MacOS菜单栏应用程序,可在Web上浏览美丽的图片,并将其设置为您的桌面图像。
  • pyDailyChanger-pyDailyChanger是一个每天更换墙纸的程序。

窗口管理

  • Amethyst-MacOS的自动平铺窗口管理器。
  • AppGrid-MacOS的基于网格的键盘窗口管理器。
  • Desktop Profiles-适用于MacOS的创新型桌面/窗口管理器
  • Hammerspoon-借助Lua实现功能惊人的MacOS台式机自动化。
  • Phoenix-可使用JavaScript编写脚本的轻量级MacOS窗口和应用程序管理器。
  • Rectangle详细说明:Rectangle是一个在很大程度上基于壮观的窗口管理器,用Swift编写。
  • ShiftIt-管理窗口大小和位置。
  • Slate-Slate是类似于Divvy和SizeUp的窗口管理应用程序
  • Spectacle-SPOGLE允许您在不使用鼠标的情况下组织您的窗口。
  • Yabai详细说明:基于二进制空间分区的MacOS平铺窗口管理器。

贡献者

感谢所有做出贡献的人:

有趣好用的Python教程