v3.25.1
Note 13 - Stock-based Compensation - Summary of Stock Options Outstanding and Exercisable (Details) - $ / shares
9 Months Ended
Apr. 30, 2025
Jan. 31, 2025
Oct. 31, 2024
Jul. 31, 2024
Options Outstanding (in shares) 4,819,492 4,857,230 4,942,317 5,103,339
Options outstanding, weighted average exercise price (in dollars per share) $ 2.65 $ 2.66 $ 2.67 $ 2.66
Options outstanding, weighted average remaining contractual term (Year) 6 years 6 months 18 days      
Options exercisable (in shares) 4,156,282      
Options exercisable, weighted average exercise price (in dollars per share) $ 2.33      
Options exercisable, weighted average remaining contractual term (Year) 6 years 2 months 12 days      
Exercise Price Range 1 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 0.91      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 0.99      
Options Outstanding (in shares) 1,392,750      
Options outstanding, weighted average exercise price (in dollars per share) $ 0.92      
Options outstanding, weighted average remaining contractual term (Year) 5 years 7 days      
Options exercisable (in shares) 1,392,750      
Options exercisable, weighted average exercise price (in dollars per share) $ 0.92      
Options exercisable, weighted average remaining contractual term (Year) 5 years 7 days      
Exercise Price Range 2 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 1      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 1.99      
Options Outstanding (in shares) 475,000      
Options outstanding, weighted average exercise price (in dollars per share) $ 1.1      
Options outstanding, weighted average remaining contractual term (Year) 5 years 2 months 15 days      
Options exercisable (in shares) 475,000      
Options exercisable, weighted average exercise price (in dollars per share) $ 1.1      
Options exercisable, weighted average remaining contractual term (Year) 5 years 2 months 15 days      
Exercise Price Range 3 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 2      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 2.99      
Options Outstanding (in shares) 522,149      
Options outstanding, weighted average exercise price (in dollars per share) $ 2.26      
Options outstanding, weighted average remaining contractual term (Year) 6 years 2 months 4 days      
Options exercisable (in shares) 522,149      
Options exercisable, weighted average exercise price (in dollars per share) $ 2.26      
Options exercisable, weighted average remaining contractual term (Year) 6 years 2 months 4 days      
Exercise Price Range 4 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 3      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 3.99      
Options Outstanding (in shares) 1,943,929      
Options outstanding, weighted average exercise price (in dollars per share) $ 3.62      
Options outstanding, weighted average remaining contractual term (Year) 7 years 5 months 1 day      
Options exercisable (in shares) 1,627,102      
Options exercisable, weighted average exercise price (in dollars per share) $ 3.64      
Options exercisable, weighted average remaining contractual term (Year) 7 years 3 months      
Exercise Price Range 5 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 4      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 4.99      
Options Outstanding (in shares) 15,000      
Options outstanding, weighted average exercise price (in dollars per share) $ 4.39      
Options outstanding, weighted average remaining contractual term (Year) 9 years 4 months 28 days      
Options exercisable (in shares) 3,750      
Options exercisable, weighted average exercise price (in dollars per share) $ 4.72      
Options exercisable, weighted average remaining contractual term (Year) 8 years 4 months 6 days      
Exercise Price Range 6 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 5      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 5.99      
Options Outstanding (in shares) 394,817      
Options outstanding, weighted average exercise price (in dollars per share) $ 5.48      
Options outstanding, weighted average remaining contractual term (Year) 9 years 2 months 15 days      
Options exercisable (in shares) 104,355      
Options exercisable, weighted average exercise price (in dollars per share) $ 5.46      
Options exercisable, weighted average remaining contractual term (Year) 9 years 1 month 28 days      
Exercise Price Range 7 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 6      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 6.99      
Options Outstanding (in shares) 64,558      
Options outstanding, weighted average exercise price (in dollars per share) $ 6.51      
Options outstanding, weighted average remaining contractual term (Year) 9 years 1 month 2 days      
Options exercisable (in shares) 26,176      
Options exercisable, weighted average exercise price (in dollars per share) $ 6.58      
Options exercisable, weighted average remaining contractual term (Year) 9 years 3 days      
Exercise Price Range 8 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 7      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 7.99      
Options Outstanding (in shares) 10,000      
Options outstanding, weighted average exercise price (in dollars per share) $ 7.63      
Options outstanding, weighted average remaining contractual term (Year) 8 years 8 months 23 days      
Options exercisable (in shares) 5,000      
Options exercisable, weighted average exercise price (in dollars per share) $ 7.63      
Options exercisable, weighted average remaining contractual term (Year) 8 years 8 months 23 days      
Exercise Price Range 9 [Member]        
Range of Exercise Prices, Lower Limit (in dollars per share) $ 8      
Range of Exercise Prices, Upper Limit (in dollars per share) $ 8.28      
Options Outstanding (in shares) 1,289      
Options outstanding, weighted average exercise price (in dollars per share) $ 8.28      
Options outstanding, weighted average remaining contractual term (Year) 9 years 6 months 18 days      
Options exercisable (in shares) 0      
Options exercisable, weighted average exercise price (in dollars per share) $ 8.28      
Options exercisable, weighted average remaining contractual term (Year) 9 years 6 months 18 days