Note 11 - Stock-based Compensation - Schedule of Outstanding Stock Options (Details) - $ / shares |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Apr. 30, 2026 |
Apr. 30, 2025 |
Apr. 30, 2026 |
Apr. 30, 2025 |
|
| Balance, number of stock options (in shares) | 4,594,207 | |||
| Balance, Weighted Average Exercise Price (in dollars per share) | $ 2.71 | |||
| Exercised, number of stock options (in shares) | (104,300) | (29,750) | (1,146,020) | (266,977) |
| Exercised, Weighted Average Exercise Price (in dollars per share) | $ 2.49 | |||
| Forfeited (in shares) | (12,875) | |||
| Forfeited, Weighted Average Exercise Price (in dollars per share) | $ 3.7 | |||
| X | ||||||||||
- Definition Number of share options (or share units) exercised during the current period. No definition available.
|
| X | ||||||||||
- Definition The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number of options outstanding, including both vested and non-vested options. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Weighted average price at which option holders acquired shares when converting their stock options into shares. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|