v3.25.1
Note 13 - Stock-Based Compensation - Schedule of Outstanding Stock Options (Details) - $ / shares
3 Months Ended 9 Months Ended
Apr. 30, 2025
Jan. 31, 2025
Oct. 31, 2024
Apr. 30, 2024
Apr. 30, 2025
Apr. 30, 2024
Balance, number of stock options (in shares) 4,857,230 4,942,317 5,103,339   5,103,339  
Balance, Weighted Average Exercise Price (in dollars per share) $ 2.66 $ 2.67 $ 2.66   $ 2.66  
Granted, Non-vested, number of shares (in shares) 10,000 1,289 24,415      
Granted, Weighted Average Exercise Price (in dollars per share) $ 4.22 $ 8.28 $ 6.21      
Exercised, number of stock options (in shares) (29,750) (63,852) (173,375) (406,411) (266,977) (1,893,096)
Exercised, Weighted Average Exercise Price (in dollars per share) $ 3.5 $ 3.34 $ 2.85      
Cancelled/Forfeited, number of stock options (in shares) (17,988) (22,524) (12,062)      
Cancelled/Forfeited, Weighted Average Exercise Price (in dollars per share) $ 4.73 $ 4.37 $ 4.32      
Balance, number of stock options (in shares) 4,819,492 4,857,230 4,942,317   4,819,492  
Balance, Weighted Average Exercise Price (in dollars per share) $ 2.65 $ 2.66 $ 2.67   $ 2.65