polyphony 0.99.3 → 0.99.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b360daaa49eebb84f08c16ddf8ba2bc6b936f4ce5f5247ec223d80dbd484a77
4
- data.tar.gz: cc903ca6277df22c91fe2e72de523890b89f3c1e74eec69f0965f5b2f03665a7
3
+ metadata.gz: bd44b14a67b4f5aedd2f46010ff0ca790072f7c5261c6b6c53b622667264cec9
4
+ data.tar.gz: 9bcc853cbbb8f03e4fc7370b957f5895d78f36fece297d130451d8fef37da782
5
5
  SHA512:
6
- metadata.gz: 5419e932910cd6fd9d7a879f46b825eb665a21fc01b4f5638dc55157407375df3fc77d491d5fec4bc48f1e4622df2a55cf057a3f33975dd0fd80abe91c23be55
7
- data.tar.gz: 0ce612362e92190a6a4378ea1e9fb91a2163eeacb08a6d4b549e4411259775054e84def3b6025e7e12872a4b03741ed9ae8b320a20f94abb85dcd4572bd3fb5d
6
+ metadata.gz: 226dc8b0f9d8b0599df1444b0f8c3dd99c8fad7484a7c6cf9d4cc25e136d25cce33c56632f3c0e823216e76f21ab2ff06ff4d629e67134592302b85b95967e00
7
+ data.tar.gz: c277e9f9ac12001b7b30584e97e67020b9cc6088525249386868a783f0e38a8c88fbaa852ec36246d28a44d7f4cb93c9aaffa7ddfb8c1bca8396f80b569a63ff
data/.yardopts CHANGED
@@ -14,10 +14,12 @@
14
14
  --exclude sequel.rb
15
15
  --exclude event.c
16
16
  --exclude backend.+\.c
17
- --load ./docs/link_rewriter.rb
17
+ # --load ./docs/link_rewriter.rb
18
+ -r docs/readme.md
18
19
  ./lib
19
20
  ./ext/polyphony
20
21
  -
22
+ docs/readme.md
21
23
  docs/overview.md
22
24
  docs/tutorial.md
23
25
  docs/faq.md
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <img src="assets/polyphony-logo.png" alt="Polyphony">
1
+ <img src="https://github.com/digital-fabric/polyphony/raw/master/assets/polyphony-logo.png">
2
2
 
3
3
  # Polyphony: Fine-Grained Concurrency for Ruby
4
4
 
data/docs/readme.md ADDED
@@ -0,0 +1,102 @@
1
+ # @title README
2
+
3
+ <img src="https://github.com/digital-fabric/polyphony/raw/master/assets/polyphony-logo.png">
4
+
5
+ # Polyphony: Fine-Grained Concurrency for Ruby
6
+
7
+ <a href="http://rubygems.org/gems/polyphony">
8
+ <img src="https://badge.fury.io/rb/polyphony.svg" alt="Ruby gem">
9
+ </a>
10
+ <a href="https://github.com/digital-fabric/polyphony/actions?query=workflow%3ATests">
11
+ <img src="https://github.com/digital-fabric/polyphony/workflows/Tests/badge.svg" alt="Tests">
12
+ </a>
13
+ <a href="https://github.com/digital-fabric/polyphony/blob/master/LICENSE">
14
+ <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
15
+ </a>
16
+
17
+ > Polyphony \| pəˈlɪf\(ə\)ni \|
18
+ >
19
+ > 1. _Music_ the style of simultaneously combining a number of parts, each
20
+ > forming an individual melody and harmonizing with each other.
21
+ >
22
+ > 2. _Programming_ a Ruby gem for concurrent programming focusing on performance
23
+ > and developer happiness.
24
+
25
+ ## What is Polyphony?
26
+
27
+ Polyphony is a library for building concurrent applications in Ruby. Polyphony
28
+ harnesses the power of [Ruby fibers](https://ruby-doc.org/core-2.5.1/Fiber.html)
29
+ to provide a cooperative, sequential coroutine-based concurrency model. Under
30
+ the hood, Polyphony uses
31
+ [io_uring](https://unixism.net/loti/what_is_io_uring.html) or
32
+ [libev](https://github.com/enki/libev) to maximize I/O performance.
33
+
34
+ ## Features
35
+
36
+ * Co-operative scheduling of concurrent tasks using Ruby fibers.
37
+ * High-performance event reactor for handling I/O events and timers.
38
+ * Natural, sequential programming style that makes it easy to reason about
39
+ concurrent code.
40
+ * Abstractions and constructs for controlling the execution of concurrent code:
41
+ supervisors, cancel scopes, throttling, resource pools etc.
42
+ * Code can use native networking classes and libraries, growing support for
43
+ third-party gems such as `pg` and `redis`.
44
+ * Use stdlib classes such as `TCPServer`, `TCPSocket` and
45
+ `OpenSSL::SSL::SSLSocket`.
46
+ * Competitive performance and scalability characteristics, in terms of both
47
+ throughput and memory consumption.
48
+
49
+ ## Installing
50
+
51
+ ### System Requirements
52
+
53
+ In order to use Polyphony you need to have:
54
+
55
+ - Linux or MacOS (support for Windows will come at a later stage)
56
+ - Ruby (MRI) 3.0 or newer
57
+
58
+ ### Installing the Polyphony Gem
59
+
60
+ Add this line to your application's Gemfile:
61
+
62
+ ```ruby
63
+ gem 'polyphony'
64
+ ```
65
+
66
+ And then execute:
67
+
68
+ ```bash
69
+ $ bundle
70
+ ```
71
+
72
+ Or install it yourself as:
73
+
74
+ ```bash
75
+ $ gem install polyphony
76
+ ```
77
+
78
+ ## Usage
79
+
80
+ - {file:/docs/overview.md Overview}
81
+ - {file:/docs/tutorial.md Tutorial}
82
+ - {file:/docs/faq.md FAQ}
83
+
84
+ ## Technical Discussion
85
+
86
+ - {file:/docs/concurrency.md Concurrency the Easy Way}
87
+ - {file:/docs/fiber-scheduling.md How Fibers are Scheduled}
88
+ - {file:/docs/exception-handling.md Exception Handling}
89
+ - {file:/docs/extending.md Extending Polyphony}
90
+ - {file:/docs/design-principles.md Polyphony's Design}
91
+
92
+ ## Examples
93
+
94
+ For examples of specific use cases you can consult the [bundled
95
+ examples](https://github.com/digital-fabric/polyphony/tree/master/examples) in
96
+ Polyphony's GitHub repository.
97
+
98
+ ## Contributing to Polyphony
99
+
100
+ Issues and pull requests will be gladly accepted. Please use the [Polyphony git
101
+ repository](https://github.com/digital-fabric/polyphony) as your primary point
102
+ of departure for contributing.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Polyphony
4
4
  # @!visibility private
5
- VERSION = '0.99.3'
5
+ VERSION = '0.99.4'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyphony
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.3
4
+ version: 0.99.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-08 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -164,6 +164,7 @@ files:
164
164
  - docs/link_rewriter.rb
165
165
  - docs/main-concepts/index.md
166
166
  - docs/overview.md
167
+ - docs/readme.md
167
168
  - docs/tutorial.md
168
169
  - docs/whats-new.md
169
170
  - examples/adapters/pg_client.rb